我的目标是将任何非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提供商展示广告,因为域名没有正确重定向。
答案 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 的拼写错误然后你的浏览器最终会出现在一些广告域上。