我的codeiginiter项目有问题。 我使用xamp,我在htdocs中有我的项目文件夹。 要查看我的项目,我必须输入http://localhost/myproject/ 我想在项目中添加一些资源,然后我将crete文件夹添加到文件夹中。
- htdocs
-- myproject
---- application
-----controllers
-----models
----- views
----- assets // folder with js, css ect
---- system
---- index.php
---- .htaccess
现在,当我想在specyfic视图中加载脚本时,就像这样
<script src="../assets/js/app.js"></script>
我在控制台
中收到错误404GET 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]
答案 0 :(得分:2)
拥有资产文件夹的地方错误。您的资源文件夹应位于主目录中,而不是您的应用程序目录中。由于应用程序中的htaccess文件阻止了css和图像等
放置资产
application
assets
assets > css
assets > images
assets > js
index.php
.htaccess <-- Main directory htaccess file
然后自动加载网址助手http://www.codeigniter.com/user_guide/helpers/url_helper.html
然后你就可以使用<?php echo base_url('assets/js/app.js');?>
你不需要自动加载url帮助器,但它可以节省你的时间,否则你必须在你需要的每个控制器中加载它。
答案 1 :(得分:1)
codeigniter为此目的有一些功能,如:base_url() or site_url()
这些功能有一些区别,你可以看到它:
what is the difference between site_url() and base_url()?
你可以将它用于你的脚本src:
<?php
echo '<script src="'.base_url('assets/js/app.js').'"></script>';
?>
答案 2 :(得分:0)
尝试一次。这是访问脚本的更好方法
<script src="<?php echo site_url('assets/js/app.js'); ?>"></script>