You need to enable JavaScript to run this app. 如何通过.htaccess实现带www的HTTP请求跳转至不带www的HTTPS地址
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.htaccess实现带www的HTTP请求跳转至不带www的HTTPS地址

分阶段域名跳转的.htaccess配置方案

配置核心逻辑

Apache mod_rewrite 规则按照从上到下顺序匹配执行,因此需要把跳转规则放在原有伪静态规则之前,确保请求先完成跳转判定,再走伪静态内部路由逻辑。跳转链路严格按照要求拆为两段301永久重定向:

  • 第一段:所有http://www.website.com发起的请求,优先跳转至对应路径的https://www.website.com地址
  • 第二段:所有https://www.website.com发起的请求,再跳转至对应路径的https://website.com最终地址
  • 原有基础伪静态规则完全保留,不改动现有路由逻辑

完整可直接替换的配置

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # 第一阶段:HTTP协议的www域名请求 强制跳转HTTPS协议的www域名
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^www\.website\.com$ [NC]
    RewriteRule ^(.*)$ https://www.website.com/$1 [R=301,L]

    # 第二阶段:HTTPS协议的www域名请求 强制跳转不带www的HTTPS域名
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^www\.website\.com$ [NC]
    RewriteRule ^(.*)$ https://website.com/$1 [R=301,L]

    # 原有基础伪静态规则,无需调整
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

注意事项

  • 跳转规则中[NC]标记表示域名匹配时不区分大小写,避免用户输入大写域名时规则失效
  • [R=301,L]标记里,301是永久重定向状态,能正确传递搜索引擎权重;L是匹配到规则后立刻终止后续规则执行,避免触发规则循环
  • 规则中^(.*)$与$1占位符会自动透传用户请求的URL路径、查询参数,不会出现子页面跳转后丢失路径直接跳回首页的问题
  • 配置完成后最好先开无痕窗口测试,避免浏览器缓存旧的重定向记录,干扰跳转链路的验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 04:06:03