重定向到其他主机时使用[L]标志

时间:2014-09-10 07:18:50

标签: apache mod-rewrite url-redirection

apache docs提及

  

您几乎总是希望将[R][L]结合使用   (也就是说,使用[R,L])因为[R]标志位于其前面   http://thishost[:thisport]到URI,但随后将其传递给   规则集中的下一个规则,通常会导致' 无效的URI   在请求中'警告。

现在,让我们说我的重写声明如下:

RewriteRule ^pass/?$ https://www.example.com/ [R,NC]

因为在这里我将我的客户端重定向到另一个主机/域,我真的需要传递[L]标志吗?

如果我也使用[QSA]标志会有效果吗?

1 个答案:

答案 0 :(得分:2)

确实是个好问题。

在我的所有测试中,我无法创建一个方案,从此规则中省略L显示整体行为的任何变化。仅在内部进行更改,因为将L标志强制mod_rewrite立即运行rewrite循环而不是直到文件末尾。因此,如果出于其他原因,L的IMO出于性能原因更好。

关于QSA :此处绝对不需要,因为只有在您的规则修改QSA时才需要QUERY_STRING,而这不是这种情况。< / p>