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

如何通过htaccess将旧域名除首页外的所有流量重定向到新子域名

htaccess 重定向规则调整方案

你现有规则的问题是匹配逻辑完全相反:RewriteRule ^/?$ 是精确匹配根路径(首页),所以当前规则实现的是仅首页跳转,和你的需求刚好相反。

调整后的配置如下:

RewriteEngine On

# 匹配旧域名(兼容带www和不带www两种访问场景)
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
# 排除首页路径,仅非首页请求触发重定向
RewriteRule !^/?$ https://newsubdomain.domain.com%{REQUEST_URI} [R=301,L,NC]

规则说明

  • (www\.)? 合并了原本两条重复的域名匹配条件,NC 标识表示忽略域名大小写,适配不同客户端的请求习惯
  • !^/?$ 为反向匹配规则,仅当访问路径不是首页时才会触发后续重定向逻辑
  • %{REQUEST_URI} 会自动携带用户访问的原始路径及参数,比如用户访问 olddomain.com/post?id=123 会自动跳转到 newsubdomain.domain.com/post?id=123,无需手动拼接路径

注意事项

测试阶段建议先把R=301改成R=302临时重定向,确认规则符合预期后再换回301永久重定向,避免错误规则被浏览器长期缓存影响正常访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:06:02