多个域变体需要Apache全站点301重定向

时间:2016-07-05 16:21:47

标签: apache .htaccess redirect mod-rewrite

所以我的网站目前有4种版本:

http://www.example.com / https://www.example.com

&安培;

http://example.com / https://example.com

我正在制定解决方案,将所有变体重定向到: https://www.example.com

我已经阅读了很多关于如何使用Apache域301重定向来解决http到https(似乎有很多公式),但是我想知道是否有更高效的代码来让所有这些变化301重定向到https://www。版本

任何帮助都会非常感激,因为在服务器端的htaccess语言等方面我是一个完整的菜鸟。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用单个301重定向规则来完成这两项任务:

RewriteEngine On

# add www and http -> https
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]

答案 1 :(得分:0)

要重定向到https://www,您可以使用:

RewriteEngine on


RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example.com%{REQUEST_URI} [NE,L,R=301]