这是我的代码,
RewriteCond %{DOCUMENT_ROOT}application/public%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}application/public%{REQUEST_URI} -d
RewriteRule application/public/.* - [L]
但当我输入localhost/css/style.css
时,它是404页面,但application/public/css/style.css
存在。
答案 0 :(得分:1)
我认为你的意思是:
RewriteEngine On
RewriteBase /
RewriteRule ^application/public/.* - [L]
RewriteCond %{DOCUMENT_ROOT}/application/public%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/application/public%{REQUEST_URI} -d
RewriteRule .* /application/public/$0 [L]
当网址以/application/public/
开头时,第一个rewriteRule会阻止执行以下规则。它还可以防止以下规则被多次应用,尽管在这种特定情况下不太可能发生这种情况。
当且仅当所请求的文件名/目录存在于该文件夹中时,第二个规则(-set)将在内部将所有请求重定向到/application/public/
文件夹。