Codeigniter 404错误未找到资产文件夹

hhe*_*nMe 1 php .htaccess codeigniter

我的 codeiniter 项目有问题。我使用 xamp 并且我的项目文件夹位于 htdocs 中。要查看我的项目,我必须输入http://localhost/myproject/ 我想向项目添加一些资产,并且我创建了具体的文件夹来执行此操作。

- htdocs
-- myproject 
---- application
-----controllers
-----models  
----- views
----- assets // folder with js, css ect
---- system
---- index.php
----  .htaccess
Run Code Online (Sandbox Code Playgroud)

现在,当我想在特定视图中加载脚本时,就像这样

 <script src="../assets/js/app.js"></script>
Run Code Online (Sandbox Code Playgroud)

我在控制台中收到错误 404

GET http://localhost/assets/app.js 
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,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]
Run Code Online (Sandbox Code Playgroud)

小智 5

资产文件夹的位置错误。您的资产文件夹应该位于主目录中,而不是您的应用程序目录中。由于应用程序中的 htaccess 文件会阻止 css 和图像等

放置您的资产

application
assets
assets > css
assets > images
assets > js
index.php
.htaccess <-- Main directory htaccess file
Run Code Online (Sandbox Code Playgroud)

然后自动加载 url 助手http://www.codeigniter.com/user_guide/helpers/url_helper.html

然后你就可以使用<?php echo base_url('assets/js/app.js');?>你不必自动加载 url 助手,但它会节省你的时间,否则你必须将它加载到你需要它的每个控制器中。