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

如何配置.htaccess实现域名别名到主域名指定页面的正确重定向?

解决方案

咱们先拆解下你现有配置里的问题:

  1. 第一条规则的跳转目标只写了/pirate-golf,没有指定主域名,所以请求会留在domainalias.co.uk这个域名下的对应路径,而不是跳转到主域名的页面。
  2. 第二条规则把主域名下的/pirate-golf又重定向回别名域名,直接造成了重定向循环,这就是为什么目标页面无法正常访问的原因。

根据你的需求,只需要配置别名域名到主域名特定页面的单向重定向即可,不需要反向规则。下面是正确的.htaccess配置:

# 将域名别名(含www前缀)重定向到主域名的特定页面
RewriteCond %{HTTP_HOST} ^(www\.)?domainalias\.co.uk$ [NC]
# 可选:排除已匹配目标路径的请求,避免潜在循环(这里因为跳转目标是主域名,实际循环概率极低,但加上更稳妥)
RewriteCond %{REQUEST_URI} !^/pirate-golf [NC]
RewriteRule ^(.*)$ https://www.maindomain.co.uk/pirate-golf [L,R=301,NE]

规则说明:

  • RewriteCond %{HTTP_HOST} ^(www\.)?domainalias\.co.uk$ [NC]:匹配所有访问domainalias.co.uk或www.domainalias.co.uk的请求,[NC]标识不区分大小写。
  • RewriteCond %{REQUEST_URI} !^/pirate-golf [NC]:跳过请求路径已经是/pirate-golf的情况,防止意外的循环问题。
  • RewriteRule ^(.*)$ https://www.maindomain.co.uk/pirate-golf [L,R=301,NE]:将所有匹配的请求**永久重定向(301)**到主域名的/pirate-golf页面;[L]表示这是当前匹配的最后一条规则,[NE]表示不转义URL中的特殊字符。

注意事项:

  • 测试前务必清空浏览器缓存,因为301重定向会被浏览器持久缓存,旧的错误规则可能影响测试结果。
  • 如果你的.htaccess里还有其他Rewrite规则,请把这条规则放在最前面,避免被其他规则拦截。
  • 确认你的服务器已经启用了mod_rewrite模块(大多数Apache主机默认已启用)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 17:17:41