1

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

如果 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]
4

1 回答 1

0

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

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

于 2012-07-13T15:18:55.490 回答