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

如何用.htaccess的301重定向将停放域名指向对应特定页面?

用.htaccess实现停放域名批量301重定向的高效方案

没问题!这种批量将所有停放域名重定向到特定页面的需求,用.htaccess完全可以高效实现——通过动态提取请求的主机名,就能自动生成符合你要求的目标URL。下面是具体配置和细节说明:

核心重写规则

直接将这段代码添加到你的.htaccess文件中(放在网站根目录):

# 开启URL重写引擎
RewriteEngine On

# 排除主域名,避免循环重定向
RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]

# 动态提取主机名并重定向到目标页面
RewriteRule ^(.*)$ https://www.mydomain.com/%{HTTP_HOST}/$1 [L,R=301]

规则详细解释

让我拆解一下每一行的作用,方便你理解和调整:

  • RewriteEngine On:必须开启Apache的mod_rewrite模块才能生效,这是所有重写规则的基础(如果不确定是否开启,可以联系主机服务商确认)。
  • RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]:这是一个条件判断,意思是只有当请求的域名不是你的主域名www.mydomain.com时,才执行后面的重定向规则。[NC]标记表示不区分大小写,避免因域名大小写差异导致规则失效。
  • RewriteRule ^(.*)$ https://www.mydomain.com/%{HTTP_HOST}/$1 [L,R=301]:这是核心逻辑:
    • ^(.*)$:匹配请求的URL路径部分(比如用户访问www.domain1.com/about.html,$1就会捕获about.html)。
    • %{HTTP_HOST}:Apache的内置变量,会自动替换为当前请求的主机名(比如www.domain1.com),完美实现你需要的“提取根URL嵌入新URL”的需求。
    • [L,R=301]:L表示这是最后一条规则,匹配后不再执行后续规则;R=301表示发送永久重定向的HTTP状态码,对SEO友好。

额外优化建议

根据实际场景,你可能需要调整规则来覆盖更多情况:

1. 同时处理不带www的停放域名

如果你的停放域名存在不带www的版本(比如domain1.com而非www.domain1.com),可以修改条件规则,同时排除主域名的两种形式:

RewriteCond %{HTTP_HOST} !^(www\.)?mydomain\.com$ [NC]

这样mydomain.com和www.mydomain.com都会被排除,避免循环。

2. 保留原URL的查询参数

如果需要保留原URL中的查询参数(比如www.domain1.com/?id=123),可以添加QSA标记,参数会自动附加到目标URL后:

RewriteRule ^(.*)$ https://www.mydomain.com/%{HTTP_HOST}/$1 [L,R=301,QSA]

3. 测试阶段用临时重定向

调试的时候建议先用R=302(临时重定向),确认规则完全符合预期后再改成R=301。因为301重定向会被浏览器缓存,调试阶段用临时重定向更方便修改规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:53:27