首页 > 解决方案 > CodeIgniter:获取 JS 文件时出现 404 错误

问题描述

我正在安装一个基于 CodeIgniter 的项目。在我尝试登录的登录页面中,它不断将我重定向到登录页面而不显示任何消息。查看http访问日志,可以看到网站找不到js文件:

127.0.0.1 - - [07/Apr/2020:14:05:15 -0400] "GET /media/js/jquery-2.1.1.min.js HTTP/1.1" 404 487 "http://localhost/web/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0"
127.0.0.1 - - [07/Apr/2020:14:05:15 -0400] "GET /media/login_script.js HTTP/1.1" 404 487 "http://localhost/web/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0"
127.0.0.1 - - [07/Apr/2020:14:05:15 -0400] "GET /media/js/jquery-2.1.1.min.js HTTP/1.1" 404 487 "http://localhost/web/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0"
127.0.0.1 - - [07/Apr/2020:14:05:15 -0400] "GET /media/login_script.js HTTP/1.1" 404 487 "http://localhost/web/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0"

我搜索了这个错误,有些人建议更改 .htaccess 文件。我将其更改为以下但仍然有同样的问题。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]

</IfModule>

谁能帮我解决什么问题?该项目位于/var/www/html/web,我正在使用它访问它http://localhost/web/

标签: phpcodeigniter

解决方案


因为你可以直接访问该文件,这意味着你的脚本 src路径是错误的

检查你的路径,改变它

<script src='<?php echo base_url()?>media/js/jquery-2.1.1.min.js'></script>`
<script src='<?php echo base_url()?>media/login_script.js'></script>`

不要忘记检查 config.php 文件中的 base_url 设置


推荐阅读