我的应用程序文件夹结构类似于
但我无法访问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]
答案 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段