.htaccess 将域上的所有传入流量重定向到非www HTTPS

.htaccess 将域上的所有传入流量重定向到非www HTTPS,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,我原以为我可以用下面的方法来完成,但它是循环的 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] 我需要做什么来确保域的所有实例

我原以为我可以用下面的方法来完成,但它是循环的

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\u HOST
,因为在HTTPS中,主机仍然是相同的(它来自请求头,
HOST:

尝试:


这也将非https、非www推到了https?@DavidBorough不,没有,我已经编辑了非https帐户的答案。当我把它放在.htaccess文件的顶部时,效果非常好,谢谢!
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]