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

将所有流量重定向至HTTPS非WWW域名的.htaccess配置问题

解决HTTPS www域名跳转至非www的问题

我明白你的困扰——已经搞定了HTTP到HTTPS的跳转,但https://www.example.com就是不肯转向https://example.com。咱们来一步步解决这个问题:

当前配置的问题

你现有的规则只处理了HTTP协议转HTTPS的情况,当用户访问https://www.example.com时,%{HTTPS}的值是on,这条规则根本不会触发,自然不会执行跳转。

完整的解决方案

你需要添加一条专门处理www子域名的规则,并且调整规则顺序,确保所有场景都被覆盖。替换你的现有配置为以下内容:

<IfModule mod_rewrite.c>
RewriteEngine On

# 规则1:将所有www域名(无论HTTP/HTTPS)跳转至非www的HTTPS
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NE]

# 规则2:将非www的HTTP请求跳转至HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
</IfModule>

规则解释

  • 规则1:通过RewriteCond匹配主机名为www.example.com的请求([NC]表示不区分大小写),然后将所有请求路径重定向到https://example.com/$1($1保留原请求的路径)。这条规则会同时处理http://www.example.com和https://www.example.com的跳转。
  • 规则2:保留你原来的逻辑,处理非www的HTTP请求,确保它们跳转到对应的HTTPS地址。

注意事项

  1. 测试阶段建议把R=301改成R=302(临时重定向),避免浏览器缓存错误的重定向规则,确认所有跳转正常后再改回301(永久重定向)。
  2. 确保你的服务器已经启用了mod_rewrite模块,并且网站根目录的AllowOverride设置为All(允许.htaccess文件生效)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 12:59:07