[英]Path to assets folder on 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
我用谷歌搜索了几个小时,然后发现了这个帖子 (帖子#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" />
但仍然缺少图像。
如果我将资产文件夹的内容移到根目录,一切都很好,但是,当然,这不是AFAIK的好习惯...
我的base_url是
http://localhost/prog/nonsense/mvc/
在您问之前,是的,我确实阅读过.htacces解决方案,但是我现在真的不想弄乱.htaccess编辑。
在这里的一点帮助将不胜感激。
你检查.htaccess
吗? 它必须具有以下内容:
RewriteCond $1 !^(index\.php|assets|upload|robots\.txt|.*\.css)
我和你有同一件事,我这样称呼他们:
<link href="<?=base_url('assets/style.css');?>" rel="stylesheet">
如果设置了base_url()
并调用了url
helper,这对我base_url()
。
我先调用base_url()
,然后再调用assets
文件夹,然后再调用style.css
。 有没有必要为一个/
后base_url();?>
,因为有一个在base_url()
反正。
使用codeigniter的内置HTML函数的另一个选项:
另外,如果您查看此链接 ,您会看到可以使用HTML
帮助器并通过codeigniter的内置函数进行调用。
这次,您不需要base_url();
做:
$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" />
base_url也可以用作link_tag:
<link href="<?php echo base_url('assets/style.css'); ?>" rel="stylesheet" type="text/css" />
也会工作,并使您的代码更整洁。
是! 我只是在.htacces
文件中添加了以下行,它工作正常
RewriteCond $1 !^(index\.php|images|robots\.txt)
我只在中添加一行。 htacces应用程序文件夹的一面
RewriteCond $1 !^(index\.php|images|robots\.txt)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.