0

这是我的代码,

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存在。

4

1 回答 1

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]

当 url 以 . 开头时,第一个 rewriteRule 阻止执行以下规则/application/public/。它还可以防止多次应用以下规则,尽管在这种特定情况下不太可能发生这种情况。

当且仅当请求的文件名/目录存在于该文件夹中时,第二条规则(-set)将在内部将所有请求重定向到该/application/public/文件夹​​。

于 2013-04-01T15:29:53.130 回答