我想将我的网站移动到https,我需要在.htaccess文件中添加规则以设置301重定向。我已经阅读了很多这方面的指南,似乎有很多不同的可能性,但其中有两个不断出现。
为什么这两个选项不同?他们做了什么不同的事情?
选项1
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
选项2
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R,L]
</IfModule>
大多数时候有不同的方法来实现一个人的目标,最好的方法的答案可以是意见b(i)。
选项1
选项2
选项1对管理员来说需要较少的工作,我相信它是两者中使用最多的。如果两者之间存在任何性能差异,那么它可能是可以忽略的,但我认为选项1更好,因为%{REQUEST_URI}是服务器变量而不是从正则表达式中提取。