无法访问CodeIgniter资源文件夹中的CSS文件,显示404错误

时间:2017-02-09 20:23:21

标签: php .htaccess codeigniter http-status-code-404

我的应用程序文件夹结构类似于

root>assets>css+fonts+frontend+images+js

但我无法访问assets文件夹中的内容。他们总是显示“找不到404页面”。

例如,mysite.com/assets/frontend/page.css显示错误。同时,mysite.com/assets/css/bootstrap.min.css显示错误。

我的.htaccess文件是

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

1 个答案:

答案 0 :(得分:2)

将此规则添加到htaccess重写:

RewriteCond $1 !^(index\.php|assets)

问题是当你从项目中删除index.php时,你实际在做的是重写那个级别的任何东西,指向index.php ......

如果index.php没有被阻止,你会看到例如http://localhost/index.php/assets/等......

你需要调整重写以忽略你的资产文件夹!^(忽略开头)然后资产,这样你就可以访问该文件夹了

您可以通过浏览器中的mysite.com/assets/css/bootstrap.min.css检查它是否正常工作,并说它不存在(使用您当前的.htaccess文件)

你有RewriteRule ^(.*)$ index.php/$1 [L]的重写就是这样......

^是字符串的开头(uri) (是正则表达式组的开始 .*是第一个URI级别的所有内容 )是正则表达式组的结束 $是字符串

的结尾

然后你告诉它有效地看过去index.php / 然后继续看$ 1

我给你的规则是添加例外以忽略某些URI段