2016-04-03 50 views
0

看來,這個問題經常被問到,並以相同的方式回答:存儲應用程序目錄的以外的css文件,然後使用base_url() . "path/to/file"CodeIgniter:如何加載應用程序文件夾內的css文件

不過,我想保持我的css文件和js文件application/views/目錄,因爲views目錄是有效的HTML空間,CSS和JS屬於該空間(在我看來)。

下面是我求之不得的結構:

root 
- application 
-- views 
--- assets 
---- css 
---- js 
- system 

當我嘗試從該目錄結構中加載CSS文件,我得到一個NetworkError: 403 Forbidden,這使得因爲CI的框架協議的意義。

但我猜測有一種方法。

回答

0

像CSS圖像和JS文件等公開可訪問的文件需要位於index.php文件旁邊的公共目錄中。所以層次是:

root 
- application 
- system 
- assets 
-- css 
-- js 

可以的形式給出了對這些文件的硬編碼

<a href="http://www.example.tld/assets/css/style.css">Link</a> 

或使用(加載)網址助手與它的功能base_url()site_url()。不要忘記填寫正確的URL到應用config文件中。

<a href="<?php echo base_url('assets/css/style.css');?>">Link</a> 

Docs

+0

Tpojka,感謝您的迴應...他們爲什麼'需要'是?我意識到CI不支持這個開箱即用的選項,但這就​​是爲什麼我發佈我的問題......謝謝... – dsdsdsdsd

+0

那些目錄(系統,應用程序)並不是公開可訪問的,'.htaccess'文件在那些爲了安全原因而避免公開抨擊。 – Tpojka

0

嘿,我要禮貌地推回這個想法:-) 你的應用程序和系統文件夾應該高於根目錄,所以它們不能公開訪問。 (除非這是一個非常簡單的應用程序,並且你沒有進行任何數據庫交互等)。他們不應該被視爲HTML或公共空間的一部分,因爲你不希望公衆訪問它們。在主要的index.php文件中爲它們設置一次路徑並完成它。

此外我建議重命名您的系統和應用程序文件夾,如「system302」。從長遠來看,它使版本化和升級(如果需要還原)更容易。

+0

Cartalot,感謝您的迴應......我還沒有聽說過移動'應用程序和'系統'文件夾高於根...然而這是一個不同於我所問的問題......我的問題接受那兩個目錄保持不變(即低於根目錄),而是問:我可以將資產(如css)放在'application'目錄中的某處並從視圖中訪問它們嗎? ... 謝謝 ... – dsdsdsdsd

相關問題