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

使用.htaccess mod_rewrite实现附加域名到主域名的内部重写

.htaccess 配置实现方案

确保你的Apache服务已经开启mod_rewrite模块,且站点目录配置中AllowOverride设置为All(保证.htaccess规则生效),将对应规则添加到站点根目录的.htaccess文件最顶部,放在所有已有重写规则之前,避免规则优先级冲突。


方案1:Apache 2.4+ 无代理方案(推荐,性能最优)

主流虚拟主机、服务器环境默认都是Apache 2.4及以上版本,优先用这个方案,不需要额外开启代理模块,直接在请求处理阶段修改主机头,让PHP脚本识别到授权域名,全程无外部跳转,用户地址栏保持addon.com显示,请求路径、GET/POST参数完全保留。

<IfModule mod_rewrite.c>
RewriteEngine On

# 匹配addon.com(含www.addon.com)的所有请求,NC标记表示不区分大小写
RewriteCond %{HTTP_HOST} ^(www\.)?addon\.com$ [NC]
# 强制将请求主机头修改为授权域名main.com
RewriteRule .* - [E=HTTP_HOST:main.com,L]
</IfModule>

方案2:兼容Apache 2.2 代理转发方案

如果你的环境是较老的Apache 2.2版本,方案1不生效时使用这个方案,需要提前确认服务器已开启mod_proxy和mod_proxy_http模块,规则会通过Apache内部代理把请求转发到main.com,同样不会改变用户浏览器地址栏。

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?addon\.com$ [NC]
# P标记表示内部代理转发,L标记表示停止处理后续规则
RewriteRule ^(.*)$ http://main.com/$1 [P,L]
</IfModule>

如果你的站点强制启用HTTPS,把规则里的http://main.com/替换为https://main.com/即可。


注意事项

  • 如果不需要适配www.addon.com的访问,把规则里正则的(www\.)?部分删除即可,匹配条件改为^addon\.com$
  • 不要给规则添加R=301/R=302标记,否则会触发外部跳转,用户地址栏会直接显示main.com,不符合内部重写的需求
  • 配置完成后清理浏览器缓存再测试,避免旧的跳转缓存影响验证结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:06:18