如何检查.htaccess中特定文件夹中是否存在文件?

时间:2013-04-01 13:58:46

标签: apache .htaccess url mod-rewrite uri

这是我的代码,

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

1 个答案:

答案 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/文件夹。