我只需添加' https'删除' www'在每种情况下:
我使用以下代码:
RewriteEngine on
RewriteCond %{http_host} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,NC]
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [R,L]
无论出于何种原因,它适用于前两种情况,但我无法使其适用于最后一种情况。
我甚至无法解决孤立的最后一个案例,例如像:
RewriteEngine on
RewriteCond %{https_host} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,NC]
非常感谢任何帮助!
答案 0 :(得分:2)
我确定这是重复的,但这里是我使用的代码:
RewriteEngine on
#This removes the www.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [L,R=301,NC,QSA]
#This makes redirect to https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]