有人可以用英语解释这些重写规则,这样我就可以更好地理解语法 - 我的初步理解如下:
如果网址以斜杠开头或结尾,则显示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]
答案 0 :(得分:0)
第一个正则表达式说:它必须以斜线开始和结束。所以这里只有纯粹的“/”匹配。如果匹配,则重定向的URL通过内置代理模块传送,而不是重定向浏览器。将再次附加所有查询参数,并且不会在该请求中进行进一步的重写。另外提到的NC(不区分大小写)在这里毫无意义。
您对第二个表达的描述是正确的。防止匹配斜杠用于防止子目录的事实匹配。因此,只有对顶级目录中的对象的请求才匹配。同样的附加规则适用于第一个表达式,而且不区分大小写也毫无意义。