2016-04-03 49 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

相关问题