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

如何用.htaccess实现301重定向:单站及多站至子目录

站点301重定向解决方案

问题1:将旧站点siteA所有页面重定向至siteB的X子目录

在siteA根目录的.htaccess文件中添加以下规则(需确保服务器启用mod_rewrite模块):

RewriteEngine On
# 匹配siteA的域名,不区分大小写
RewriteCond %{HTTP_HOST} ^(www\.)?siteA\.com$ [NC]
# 保留原页面路径,重定向到siteB/X下对应页面
RewriteRule ^(.*)$ https://siteB.com/X/$1 [R=301,L]

规则说明:

  • RewriteEngine On:开启URL重写功能
  • RewriteCond:精准匹配siteA的主域名及带www的域名
  • RewriteRule:$1会替换为原请求的路径(比如siteA.com/page1会重定向到siteB.com/X/page1),R=301标记永久重定向,L表示执行完该规则后停止后续匹配

问题2:同一目录下50个站点统一根目录重定向到siteB/X

可行,只要所有站点都指向同一个包含.htaccess的目录,即可用单文件实现统一规则:

仅重定向根目录(比如http://siteN.com/ → https://siteB.com/X/)

RewriteEngine On
# 排除目标站点siteB,避免循环重定向
RewriteCond %{HTTP_HOST} !^siteB\.com$ [NC]
# 匹配根目录请求
RewriteRule ^$ https://siteB.com/X/ [R=301,L]

重定向所有页面(所有站点的任意页面都转到siteB/X对应路径)

如果需要将这些站点的所有页面都重定向,可使用:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^siteB\.com$ [NC]
RewriteRule ^(.*)$ https://siteB.com/X/$1 [R=301,L]

规则说明:

  • RewriteCond %{HTTP_HOST} !^siteB\.com$:排除siteB本身,防止出现重定向循环
  • RewriteRule ^$:仅匹配站点根目录的请求;若用^(.*)$则匹配所有路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:25:32