我在.htaccess文件当前所在目录的父目录中有一个Apache .htaccess文件。这可以完美地根据需要重定向所有请求。但是,我希望在这个目录中,如果请求是针对有效文件(而不是目录),则忽略主要重写规则。
目前,以下关闭目录的重写,我无法弄清楚原因。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} -f
RewriteRule . - [L]
</IfModule>
感谢任何贡献者。
答案 0 :(得分:1)
尝试使用REQUEST_FILENAME
代替REQUEST_URI
:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule . - [L]
REQUEST_URI
仅包含URI路径,但Apache需要绝对文件系统路径来再次测试-d
和-f
。 REQUEST_FILENAME
保存与当前请求的URI对应的绝对文件系统路径。