为什么添加任何任意的 RewriteRule 都会导致整个网站失败?

为什么添加任何任意的 RewriteRule 都会导致整个网站失败?

我正在使用 WordPress,并且它运行良好:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

但是如果我在最后一行之前添加这个:

RewriteRule "^/iwillnevergetmatched$" "/testfoo" [R=301]

然后在我的日志中:

由于可能的配置错误,请求超出了 10 次内部重定向的限制。如有必要,请使用“LimitInternalRecursion”增加限制。使用“LogLevel debug”获取回溯。,引用者:http://example.org/foo

答案1

失败的原因是您将现有 RewriteRule 从其先前的条件中拆分出来。这使其成为无条件的,并且会循环。

相关内容