我以为我可以使用以下内容完成此任务,但它正在循环...
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteCond %{HTTPS_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
我需要做些什么来确保域的所有实例在没有循环的情况下转到https://example.com?
答案 0 :(得分:3)
您的第一行检查主机是否是您要重定向到的主机。您无需检查HTTPS_HOST
,因为在https中,主机仍然相同(来自请求标头,Host:
)。
尝试:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]