[英]How to make .htaccess rewrite rule for request filename work with directories with index files?
这是我正在使用的 .htaccess。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d
RewriteRule (.*)$ https://sub.example.com/$1 [R=301,L]
</IfModule>
当请求像 path1/path2/index.html 这样的特定文件路径时,它可以正常工作并且不会重写。 但是如果请求像 path1/path2/ 这样的路径,即使该目录中有像 index.html 这样的 DirectoryIndex 文件,它也会重定向。 有什么简单的方法可以解决这个问题?
正如我在上面的评论中建议的那样,这样的事情应该可以工作:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . https://sub.example.com%{REQUEST_URI} [R=301,L,NE]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.