You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.htaccess仅HTTP可重定向到www,HTTPS失效(Cloudflare环境)

Cloudflare环境下实现全场景HTTPS+www重定向的.htaccess配置

当前配置仅能处理http://example.com到https://www.example.com的重定向,但https://example.com无法跳转至www版本,原因是原规则仅匹配非443端口(HTTP请求),且该规则对Cloudflare集成是必要的,移除会导致重定向循环。以下是修改后的配置,可覆盖所有场景且兼容Cloudflare:

RewriteEngine On

# 处理非HTTPS请求,重定向至HTTPS+www(适配Cloudflare反向代理)
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# 处理HTTPS下的非www域名,重定向至www版本
RewriteCond %{HTTP:X-Forwarded-Proto} https [OR]
RewriteCond %{SERVER_PORT} =443
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

配置说明:

  • 第一条规则:同时校验Cloudflare转发的X-Forwarded-Proto头(识别用户实际发起的请求协议)和源站的SERVER_PORT,只要任一条件表明当前为HTTP请求,就触发重定向。这样既适配Cloudflare反向代理场景(源站收到的可能是HTTP请求,即便用户用HTTPS访问),也兼容直接访问源站的情况。
  • 第二条规则:先确认当前请求为HTTPS(通过Cloudflare头或源站端口),再匹配不带www的域名example.com,触发重定向至www版本,解决https://example.com无法跳转的问题。
  • [NC]标记:忽略域名大小写,避免因大小写差异导致规则失效。
  • [R=301,L]标记:301为永久重定向,利于搜索引擎优化;L表示执行当前规则后停止后续规则解析,避免冲突。

该配置不会引发重定向循环:当请求已为https://www.example.com时,两条规则的条件均不满足,不会触发任何重定向操作。

内容的提问来源于stack exchange,提问作者Ilan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 21:29:57