我用这个
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://kanzan.se%{REQUEST_URI} [L,NE,R=301]
将所有 www 重定向到非 www,但当我输入时它不起作用https://www.kanzan.se。www 仍然存在!
答案1
要重定向,https://www to non www
请使用以下命令:
RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteRule ^(.*)$ http://your_domain.com/$1 [R=301]
将 www 重定向到非 www(使用 SSL)
RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://your_domain.com/$1 [R=301]
此后不要忘记启用重写模式。
sudo a2enmod rewrite;
sudo service apache2 restart;
答案2
好的,我成功了。我用的是这个
RewriteCond %{HTTP_HOST} ^www.kanzan.
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^ https://kanzan.se%{REQUEST_URI} [L,R=301]
在我的虚拟主机 443 中。之前我把所有东西都放在全局配置中。我不明白为什么会有什么不同。