我的codeigiiter项目有问题。我使用example,我的项目文件夹在htdocs中。要查看我的项目,我必须键入http://localhost/myproject/我想添加一些资产到项目和我混凝土文件夹做这件事。
- htdocs
-- myproject
---- application
-----controllers
-----models
----- views
----- assets // folder with js, css ect
---- system
---- index.php
---- .htaccess
现在,当我想在特殊视图中加载脚本时,比如这个
<script src="../assets/js/app.js"></script>
我得到错误404和控制台
GET http://localhost/assets/app.js
正如您所看到的,CodeIgniter想要从错误的地方下载资产。
我的htaccess看起来是这样的:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ index.php/$1 [L]
资产文件夹放错地方了。您的资产文件夹应该在主目录中,而不是应用程序目录中。由于应用程序中的htaccess文件阻止了css和图像等
放置资产
application
assets
assets > css
assets > images
assets > js
index.php
.htaccess <-- Main directory htaccess file
然后自动加载url帮助程序http://www.codeigniter.com/user_guide/helpers/url_helper.html
然后你就可以使用<?php echo base_url('assets/js/app.js');?>
了——你不必自动加载url助手,但这会节省你的时间——其他方面,你必须在每个需要的控制器中加载它。
代码点火器具有一些功能,如:base_url() or site_url()
这些函数有一些不同之处,你可以在中看到
siteurl()和baseurl()之间有什么区别?
您可以将其用于脚本src:
<?php
echo '<script src="'.base_url('assets/js/app.js').'"></script>';
?>
试试这个。这是访问脚本的更好方法
<script src="<?php echo site_url('assets/js/app.js'); ?>"></script>