gpt4 book ai didi

.htaccess - .htaccess 301重定向的两个版本

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:57 25 4
gpt4 key购买 nike

我希望将我的站点移动到 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>

最佳答案

大多数时候有不同的方法可以实现一个人的目标,关于哪种方法最好的答案可以根据意见来决定。

选项 1

  • 将重定向所有非 SSL 流量,独立于您请求的监听端口(您可以同时监听多个端口,例如 80、81 等)
  • 会将任何 FQDN 重定向到其等效的 https,并保留请求 URI。您不需要调整它,除非您希望将多个 FQDN 重定向到同一个 https 站点。
  • 返回码为301,任何代理都可以轻松缓存

选项 2

  • 将只重定向到 80 端口的流量。如果您正在监听另一个端口,这很可能在巨大的托管平台上,尤其是在负载均衡器之后,您需要将 80 更改为另一个值
  • 会将任何 FQDN 重定向到同一个 https 站点 (www.yoursite.com),同时保留请求 URI。
  • 返回码是302,如果没有设置其他header(Cache-Control),可能不会被缓存

选项 1 需要较少的管理员工作,我相信它是两者中最常用的。如果两者之间存在任何性能差异,虽然我认为选项 1 更好,但它可能可以忽略不计,因为 %{REQUEST_URI} 是服务器变量并且不是从正则表达式中提取的。

关于.htaccess - .htaccess 301重定向的两个版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49044599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com