Codeigniter 404错误,找不到资产文件夹


Codeigniter 404 error not found assets folder

我的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>