【问题标题】:.htaccess multiple domain redirect to once https without www.htaccess 多个域重定向到一次 https 没有 www
【发布时间】:2018-08-09 14:11:44
【问题描述】:
我的域名很少:
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]
【问题讨论】:
标签:
.htaccess
ssl
redirect
https
【解决方案1】:
在您的.htaccess 中使用此规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?example.io [NC]
RewriteRule ^(.*)$ https://example.io%{REQUEST_URI} [L,R=301]
条件检查 URL 是 www.example.io 还是 exmaple.io,如果不是,则将其重写。
我使用了R=301,这是一个永久重定向。出于测试目的,我建议您将其更改为 R 或 R=302,这是临时的。
确保在测试之前清除缓存。
【解决方案2】:
您可以将以下行添加到位于 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>