【问题标题】:Explain this rewrite rule解释这个重写规则
【发布时间】:2012-07-13 15:16:29
【问题描述】:

有人可以用英文解释这些重写规则,以便我更好地理解语法 - 我的初步理解如下:

如果 URL 以斜杠开头或结尾,则显示 http://www.example.com/:

RewriteRule ^/$                 http://www.example.com/ [P,L,QSA,NC]

如果 URL 以斜杠开头,后跟一个不包含斜杠的字符串,然后是一个点并且不包含另一个带有斜杠的字符串,则将其重定向到 http://www.example.com/$1

RewriteRule ^/([^/]+\.[^/]+)$   http://www.example.com/$1 [P,L,QSA,NC]

【问题讨论】:

    标签: mod-rewrite redirect url-rewriting


    【解决方案1】:

    第一个正则表达式说:它必须以斜线开头和结尾。所以这里只有纯“/”匹配。如果匹配,重定向的 url 将通过内置代理模块传递,而不是重定向浏览器。再次附加所有查询参数,并且在该请求中不再进行重写。还提到的 NC(不区分大小写)在这里没有意义。

    您对第二个表达式的描述是正确的。防止匹配斜线用于防止子目录的意外匹配。所以只有对顶级目录中对象的请求才匹配。与第一个表达式相同的附加规则适用,并且不区分大小写也是没有意义的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      • 2010-09-15
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      相关资源
      最近更新 更多