将非www和www(http)重定向到https

时间:2015-10-25 02:39:59

标签: redirect apache2 debian

我的目标是将任何非www和www从http连接重定向到https连接,同时保持完整路径。

例如:

http://example.com/something/
http://www.example.com/something/

应该重定向到:

https://example.com/something/

我已将它包含在sites-available / default.conf

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

但它不起作用。它带我到其他一些网站(保持我的域名在地址栏中)与广告。虽然这可能是我的DNS提供商展示广告,因为域名没有正确重定向。

1 个答案:

答案 0 :(得分:0)

确保您已启用mod重写

a2enmod rewrite

已启用网站上编辑文件,而不是网站可用

cd /etc/apache2
vi sites-enabled/000-default.conf

对于重写规则,你可能需要这样的东西

RewriteEngine On

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

# turn on HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}  [L,NE,R=301]

广告可能是 www.exmaple.com 甚至是 www.examlpe.com 而非 www.example.com 的拼写错误然后你的浏览器最终会出现在一些广告域上。