2013-05-22 89 views
0

在我的CodeIgniter項目中,我試圖做一些非常簡單的事情。我將樣式表編碼到我的視圖中。當樣式表位於應用程序文件夾下名爲資產的不同文件夾中時,問題就出現了。當我嘗試編碼是這樣的:CodeIgniter目錄問題

<link rel="stylesheet" href="<?php echo base_url(); ?>application/assets/stylesheet.css"> 

甚至:

<link rel="stylesheet" href="http://localhost/ProjectName/application/assets/stylesheet.css"> 

我沒有得到任何結果。我已經嘗試了href屬性的每一個技巧,並且我已經仔細檢查了我的目錄,所以我知道我已經做對了。

我的基地址是http://localhost/ProjectName/ +我已啓用網址幫手,所以我知道這不是問題。

我唯一能想到的就是.htaccess文件。當我認爲我的源代碼,並嘗試在瀏覽器中獨立的css文件,我得到一個消息,如:

您沒有權限訪問/項目名/應用/資產/ ...在此服務器上。

難道這是我的問題,你能幫我解決這個問題嗎?

+0

:HTTP://localhost/ProjectName/application/assets/stylesheet.css,你能看到你的CSS文件?嘗試點擊瀏覽器頁面源代碼中的css文件,查看它在瀏覽器中的確切位置。 – akshayb

+0

我剛剛給我的問題添加了一些問題,我想回答你的問題,@akshayb – user2301187

回答

0

嘗試這樣........

<style type="text/css" media="all"> 
      @import url("/project_name/application/assets/style.css"); 
    </style> 
+0

如果純HTML,視圖呈現如何來使@import有所作爲?只是好奇心? – akshayb

+0

沒有太大的區別,你可以搜索導入和鏈接在CSS中有什麼區別。導入並不好,但它對我有用,我也嘗試過使用它...... –

0

如果消息是「您沒有權限,請嘗試:

<Directory "absolute/path/to/assets/folder/"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride all 
     Order Deny,Allow 
     Allow from all 
</Directory> 

您需要重新啓動Apache服務器好。在Ubuntu,你可以做到這一點:

service apache2 restart 
1

它通常被認爲是不好的做法,把CSS和類似資產CodeIgniter的應用文件夾。建議您將其應用程序和系統文件夾保留在Web根目錄之上。

默認.htaccess應用程序目錄將Deny from all。你可以改變它來允許訪問,你應該可以像你當前嘗試一樣訪問你的CSS,但我不會推薦它。你應該讓你的資產在應用程序的根,與此類似:

– public_html 
    – index.php 
    - assets 
     - stylesheet.css 
... 

然後鏈接到CSS,像這樣:

<link rel="stylesheet" href="<?php echo base_url(assets/stylesheet.css); ?>"> 
0

你需要把這些資產的應用程序文件夾之外。只有這樣你才能通過base_url()來訪問它;

在名爲assets的應用程序文件夾外創建一個文件夾,然後在裏面創建另一個名爲css的文件夾,然後將所有的css放在裏面。然後將base_url()更改爲您的路徑。對於前。 http:/ localhost/project路徑。這將訪問您的項目路徑。

然後在烏拉圭回合的CSS線做指定的路徑在這