.htaccess 重定向到 www 仅在使用 Cloudflare 时适用于 HTTP(不适用于 HTTPS)

问题描述 投票:0回答:1

朋友通过托管技术支持对她进行了

.htaccess
更改,使她的网站可以与 Cloudflare CDN 配合使用。

.htaccess
看起来像这样:

RewriteEngine On

RewriteCond %{SERVER_PORT} !=443

RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

目的是将所有流量重定向到HTTPS + www。

问题是:

当您访问

http://example.com
时,重定向至 www 即可。

但是当你去

https://example.com
时,重定向到www不起作用。

据我了解,这是因为 RewriteCond 。仅当不在端口 443(这是 HTTPS 端口)上时,它才使规则起作用。

但是这条规则对于 Cloudflare 来说似乎是必要的,因为技术支持将其放入,并且因为没有它,网站无法加载,看起来它可能会陷入某种重定向循环。

我们如何重写该文件以使其在所有情况下都能工作,而不破坏 Cloudflare 集成?

.htaccess https cloudflare cdn
1个回答
0
投票

没有条件,它总是重定向。如果不是 HTTPS 或者主机名不正确,它应该重定向。您可以添加第二个条件来处理第二个条件:

RewriteEngine On

RewriteCond %{SERVER_PORT} !=443 [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
© www.soinside.com 2019 - 2024. All rights reserved.