我在多个教程中都看过以下RewriteRule。
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我的问题与匹配模式有关:
^(.*)$
-匹配任何内容,但请确保“ anything”在行的开头和行尾。 ♂️ (.*)
-匹配任何内容 ^(.*)$
匹配模式似乎不必要。 (.*)
还不够吗?
(我已经以很难测试RewriteRules的方式学习了我的课程,所以我认为值得一提以确保我没有遗漏明显的东西)
答案 0 :(得分:2)
由于您未在目标中使用^
,因此不仅不需要$
和(.*)
,甚至不需要$1
组。
您可以很好地将规则写为:
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
等效于:
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]