无法将 www 重定向到裸版本(使用 Cloudflare 的 SSL)

Unable to redirect www to naked version (using Cloudflare's SSL)

我已经使用 CloudFlare 并使用 ReallySimpleSSL 插件为我的网站设置了 SSL,一切正常,除了网站现在没有将 www 版本重定向到裸版本,这是我的首选域,也是网站管理员当前使用的域工具。

我用过这个代码:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

我在移动到 https 之前使用了这段代码,它可以很好地将 www 重定向到非 www。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]

我真的很感激任何帮助,因为我的网站流量很大,我不想把它搞砸。

此致, 纳赛尔.

有了Cloudflare,更容易使用他们的规则(Cloudflare -> Page Rules -> Forwarding URL 301)

如果您不想使用 Cloudflare 规则,您可以使用:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R=301]
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
</IfModule>