我正在寻找完美的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。
请帮忙。
谢谢,
答案 0 :(得分:1)
不确定您是需要多个域,还是只需要一个,但这里是一个支持多个域的示例。既然你想在所有域上使用www和https,我只是硬编码了。如果网址中存在子域,则此 也会跳过重写。您可能需要对其进行调整以支持带点的TLD(即.co.uk,.co.au等)。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [L,R=301]