301 将 HTTP 重定向到 HTTPS - 非 www 到 www
Posted
技术标签:
【中文标题】301 将 HTTP 重定向到 HTTPS - 非 www 到 www【英文标题】:301 Redirect HTTP to HTTPS - non-www to www 【发布时间】:2018-10-19 12:42:33 【问题描述】:我正在寻找完美的 301 重定向 HTTP 到 HTTPS - 非 www 到 www。但我找不到可行的解决方案。
这就是我想做的事
http://domain.tld/ → https://www.domain.tld/
http://www.domain.tld/ → https://www.domain.tld/
https://domain.tld/ → https://www.domain.tld/
在这篇文章中:Best Practice: 301 Redirect HTTP to HTTPS (Standard Domain)
结论是:
RewriteEngine On
RewriteCond %HTTPS off [OR]
RewriteCond %HTTP_HOST ^www\. [NC]
RewriteRule ^ https://example.com%REQUEST_URI [R=301,L,NE]
但这是用于 www。到非www。
请帮忙。
谢谢,
【问题讨论】:
【参考方案1】:不确定您是否需要多个域或仅一个域,但这里有一个支持多个域的示例。由于您希望在所有域上都使用 www 和 https,因此我只是对其进行了硬编码。如果 url 中有子域,这应该也跳过重写。您可能需要对其进行调整以支持带点的 TLD(即 .co.uk、.co.au 等)。
RewriteEngine On
RewriteCond %HTTP_HOST ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ https://www.%HTTP_HOST/$1 [L,R=301]
【讨论】:
以上是关于301 将 HTTP 重定向到 HTTPS - 非 www 到 www的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 301 重定向而不是 302 将 HTTP 站点重定向到 HTTPS 站点
使用 301 或 303 将 http 重定向到 https