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

.htaccess多子域名301重定向到新域名不同目录配置咨询

.htaccess多子域名跨域重定向实现方案

你提到的旧域名多子域名重定向到新域名对应目录的需求,完全可以通过.htaccess的mod_rewrite模块实现,只要主机支持rewrite规则即可。

多子域名分别跳转对应目录的配置写法

你之前写的单子域名重定向规则逻辑是对的,多子域名场景只需要按相同格式追加对应规则组即可。
举个实际场景例子,如果你需要实现以下跳转映射:

  • a.old-domain.com 下所有内容跳转到 new-domain.com/category-a/ 对应路径
  • b.old-domain.com 下所有内容跳转到 new-domain.com/category-b/ 对应路径
  • c.old-domain.com 下所有内容跳转到 new-domain.com/category-c/ 对应路径

直接在.htaccess中写入以下规则即可:

RewriteEngine On

# 子域名a跳转规则
RewriteCond %{HTTP_HOST} ^a\.old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/category-a/$1 [R=301,NC,L,QSA]

# 子域名b跳转规则
RewriteCond %{HTTP_HOST} ^b\.old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/category-b/$1 [R=301,NC,L,QSA]

# 子域名c跳转规则
RewriteCond %{HTTP_HOST} ^c\.old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/category-c/$1 [R=301,NC,L,QSA]

注意你原有写法中使用%{REQUEST_URI}拼接目标路径容易出现双斜杠、路径重复的问题,用$1直接引用RewriteRule匹配到的路径片段更准确。

子域名全量内容重定向的参数说明

你提到的「指定子域名下所有页面、子目录全部重定向」分两种常见场景,不需要额外新增特殊参数,调整规则目标即可:

  1. 路径一一对应跳转:也就是原链接路径和新链接路径完全对应,比如a.old-domain.com/doc/1.html跳转到new-domain.com/category-a/doc/1.html,上面给出的规则已经完全覆盖这个需求,规则里的参数作用分别是:
    • R=301:标记为永久重定向,搜索引擎会同步转移原有页面权重
    • NC:域名、路径匹配时不区分大小写
    • L:当前规则匹配命中后立刻停止执行后续重写规则,避免规则冲突
    • QSA:自动保留原URL携带的查询参数,比如原链接带?id=123&from=search,跳转后参数会自动追加到新链接后
  2. 全路径跳转到固定单页:也就是子域名下不管访问什么路径,都统一跳转到新域名的一个固定地址(比如子域名作废后全部跳转到新站对应栏目首页),只需要把RewriteRule的目标路径改成固定地址、去掉路径引用$1即可,示例:
    # a子域名所有路径统一跳转到栏目首页
    RewriteCond %{HTTP_HOST} ^a\.old-domain\.com$ [NC]
    RewriteRule ^(.*)$ https://new-domain.com/category-a/ [R=301,NC,L,QSA]
    

配置注意事项

  • 规则上传后先清空浏览器缓存再测试,301永久重定向会被浏览器本地缓存,旧缓存容易导致测试结果不准
  • 如果规则不生效,先确认主机已经开启mod_rewrite模块,同时站点配置中AllowOverride设置为All,允许.htaccess生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:09:15