CodeIgniter上资源文件夹的路径

时间:2014-01-23 08:44:39

标签: php css codeigniter

我正在为CodeIgniter编写代码,我想应用一个css模板。我发现了一个我喜欢的并下载它。

将css代码与合并前的代码合并后,我发现css模板使用的图像没有加载。最初他们应该留在html文件夹的根目录(或www,或者public_html,你知道我的意思......),但是我把它们放在与系统文件夹相同级别的资源文件夹下。

像这样......

Website Folder
|
|---application\
|-----(CodeIgniter application folders...)
|---assets\
|-----style.css
|-----css\
|-------mini.css
|-----images\
|-----js\
|-----robots.txt
|---system
|-----(CodeIgniter system folder...)
|index.php

我用谷歌搜索了几个小时,然后我发现了this post(第5条)。我尝试OP所说的但它不起作用。

我可以自动加载url_helper添加

$autoload['helper'] = array('url');

到autoload.php文件。但是当我添加

<base href="<?php echo base_url() ?>"/>

图像仍然不存在。

原始的html文件有这一行

<link href="style.css" type="text/css" rel="stylesheet" /> 

所以,我猜我应该添加资产/所以它看起来像

<link href="assets/style.css" type="text/css" rel="stylesheet" />

但图像仍然缺失。

如果我将assets文件夹的内容移动到root,一切都很好,但当然,这不是一个好的做法AFAIK ......

我的base_url是

http://localhost/prog/nonsense/mvc/

在你问之前,是的,我确实读过.htacces解决方案,但我现在真的不想乱用.htaccess编辑。

在这里可以得到一点帮助。

5 个答案:

答案 0 :(得分:2)

您检查.htaccess吗? 必须有类似的东西:

RewriteCond $1 !^(index\.php|assets|upload|robots\.txt|.*\.css)

答案 1 :(得分:2)

我和你有同样的事情,我称之为:

<link href="<?=base_url('assets/style.css');?>" rel="stylesheet">

如果设置了base_url()并且调用了url助手,这对我有用。

我调用base_url(),然后调用assets文件夹,然后调用style.css/之后不需要base_url();?>,因为base_url()中有一个HTML

使用内置HTML功能的codeigniter的另一个选项:

此外,如果您查看this link,您会看到您可以使用base_url();帮助程序并通过codeigniter的内置函数调用它。

这一次,你不应该$autoload['helper'] = array('url', 'html');

做:

<?=link_tag('assets/style.css');?>

然后在标题视图中添加:

<link href="http://localhost/prog/nonsense/mvc/assets/style.css" rel="stylesheet" type="text/css" />

它将输出到:

{{1}}

答案 2 :(得分:0)

base_url也可以用作link_tag:

<link href="<?php echo base_url('assets/style.css'); ?>" rel="stylesheet" type="text/css" />

也会起作用并保持代码清洁。

答案 3 :(得分:0)

是的!我刚在.htacces文件中添加了以下行,它运行正常

RewriteCond $1 !^(index\.php|images|robots\.txt)

答案 4 :(得分:-1)

我只需在应用程序文件夹的 htacces 一侧添加一行

RewriteCond $1 !^(index\.php|images|robots\.txt)