.htaccess多个域重定向到没有www的一次https

时间:2018-08-09 14:11:44

标签: .htaccess ssl redirect https

我有几个域:

www.xxx.com xxx.com

www.xxx.co xxx.co

www.xx.io xxx.io

如何将所有域重定向到https://xxx.io

我没有www即可重定向到https:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

2 个答案:

答案 0 :(得分:1)

在您的.htaccess中使用此规则:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?example.io [NC]
RewriteRule ^(.*)$ https://example.io%{REQUEST_URI} [L,R=301]

该条件检查URL是否为www.example.ioexmaple.io,如果不是,则将其重写。

我使用了R=301,这是永久重定向。为了进行测试,建议您将其更改为RR=302,这是临时的。

在测试之前,请确保清除缓存

答案 1 :(得分:0)

您可以将以下行添加到位于xxx.io域根目录的.htaccess文件中:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxx.com$ [OR]
RewriteCond %{HTTP_HOST} ^xxx.co$
RewriteRule (.*)$ http://xxx.io/$1 [R=301,L]
</IfModule>