繁体   English   中英

CodeIgniter上资产文件夹的路径

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM