解释这个重写规则

时间:2012-07-13 15:16:29

标签: mod-rewrite redirect url-rewriting

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

如果网址以斜杠开头或结尾,则显示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]

1 个答案:

答案 0 :(得分:0)

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

您对第二个表达的描述是正确的。防止匹配斜杠用于防止子目录的事实匹配。因此,只有对顶级目录中的对象的请求才匹配。同样的附加规则适用于第一个表达式,而且不区分大小写也毫无意义。