【发布时间】:2021-01-01 18:54:33
【问题描述】:
^ 与 ^.*$ 在这两个表达式的第三行有什么区别。它们是相同的还是不同的
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
和
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^.*$ %1 [L,R=301]
【问题讨论】:
-
两者效果相同,但仅使用
^(启动锚点)会更高效 -
原因是规则对匹配的内容以及在这种情况下如何匹配完全不感兴趣。这就是为什么实际匹配模式无关紧要的原因。这就是为什么一个更简单的模式更有意义的原因在这个特定的例子中......但在其他情况下情况并非如此,通常是如果重写规则重用通过该模式捕获的东西
-