如何在CodeIgniter 2.1的视图中链接资产(图像、样式表等)?
我正在使用CodeIgniter 2.1版&尝试使用,如何在CodeIgniter 2.1的视图中链接资产(图像、样式表等)?,codeigniter,php,Codeigniter,Php,我正在使用CodeIgniter 2.1版&尝试使用,header.php,在我的视图中链接图像、样式表、javascript文件等资产: 要链接css,您可以执行以下操作: echo link_tag('css/mystyles.css'); echo link_标记('css/mystyles.css'); 请检查以下参考信息:最好将您的资产放在webroot文件夹中。当从服务器请求assest时(取决于您的设置),它将从根目录开始,一直向下运行 http://yoursite.com/ap
header.php
,在我的视图中链接图像、样式表、javascript文件等资产:
要链接css,您可以执行以下操作:
echo link_tag('css/mystyles.css');
echo link_标记('css/mystyles.css');
请检查以下参考信息:最好将您的资产放在webroot文件夹中。当从服务器请求assest时(取决于您的设置),它将从根目录开始,一直向下运行
http://yoursite.com/application/views/css/mystyles.css
如果它在根里,你只需要从那里开始
尽管可能值得将它们全部放在一个文件夹(/assets)中以保持其包含性,以及编写更有效的重写规则(如果您试图从url中删除index.php)以忽略单个文件夹而不是所有单个文件夹(/css、/js等)的能力
至于视图文件夹,最好将其保留在应用程序
文件夹中,因为CodeIgniter有一个内置的加载程序,当您使用代码$this->load->view('myview')时,它会自动检查视图文件的/application/views
虽然有方法可以移动views文件夹,但如果您是CI新手,最好暂时将其留在那里。如果您看到,.htaccess
部分用于从URL中删除index.php
,这有一个重写条件:
RewriteCond $1 !^(index\.php|images|robots\.txt)
在这一行中,images是一个文件夹,在mod重写时将被忽略。因此,您可以用资产替换它,将所有直接链接的文件放在那里,并愉快地使用它们
RewriteCond $1 !^(index\.php|assets|robots\.txt)
编辑:我的错,没有看到问题提出的日期。尽管如此,对某些人来说应该是有用的。在我的视图中放置echo-link\u标记(css/style.css)
会生成html
。此位置位于。/application/
目录之外的点。直接在webroot中,但我的css位于。/application/views/css/style.css
。因此,我得到404页没有找到。我想怎样才能链接到<代码> /应用程序/视图< /代码>,或者我应该考虑把我的观点移到代码外> /应用程序>代码>直接在WebROOT中吗?谢谢,把资产转移到WebROOT似乎是个好主意:<代码>重写1美元!(index\.php | assets | robots\.txt)
当我使用此选项时,我查看控制器时一切都很好示例:但当我使用控制器的任何函数时,它都不起作用示例:@shaz3e:您是否也在使用重写规则^(.*)$/index.php/$1[L]
?
RewriteCond $1 !^(index\.php|assets|robots\.txt)