ver*_*onk 4 apache .htaccess mod-rewrite
因此,当子目录也有 htaccess 文件时(无论该文件是否有冲突的规则),我对 mod_rewrites 被忽略感到有些疯狂。
因此,出于规范目的将目录的 /index.html 重定向到 / 的示例......
RewriteCond %{THE_REQUEST} /index\.html [NC]
RewriteRule ^(.*?)index\.html$ /$1 [L,R=301,NC,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1/index\.html -f [NC]
RewriteRule ^(.+?)/?$ /$1/[R=301,L]
Run Code Online (Sandbox Code Playgroud)
所以...如果这是在根设置中设置的,那么一切都会正常。但是,一旦子目录拥有自己的 htaccess(即使没有冲突的重写),它就会完全忽略。
默认情况下,子 htaccess 文件不会继承 父规则。
您需要在每个子 htaccess 文件中添加此行
RewriteOptions Inherit
Run Code Online (Sandbox Code Playgroud)
或者,甚至更好(如果您希望在子规则之前应用父规则)
RewriteOptions InheritBefore
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |