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

HTAccess内部重写需求:将one.domain.com映射至指定URL

解决HTAccess内部重写而非跳转的问题

我来帮你搞定这个头疼的内部重写问题!你当前配置触发跳转的原因很明确:当RewriteRule的目标是带完整协议(http://)和域名的URL时,Apache会自动把这判定为外部跳转,而不是内部重写,所以浏览器地址栏才会变化。

正确的内部重写配置

因为one.domain.com是another.domain.com的虚拟主机别名,两个域名共享同一个文档根目录,所以我们直接用服务器根目录相对路径作为目标即可,不需要写完整域名:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^one\.domain\.com$
# 单页站点精确匹配根路径的话,用下面这条更精准
# RewriteRule ^$ /specific/url [L]
# 如果需要匹配one.domain.com下所有路径都重写到目标页面,用这条
RewriteRule ^(.*)$ /specific/url [L]

关键说明

  • 去掉目标中的http://another.domain.com,改用/specific/url(以/开头,对应虚拟主机的文档根目录),Apache就会执行内部重写:服务器悄悄把请求转发到目标路径,浏览器完全感知不到,地址栏保持one.domain.com不变。
  • 如果是严格的单页站点(只需要匹配one.domain.com根路径),把RewriteRule的匹配规则改成^$(匹配空路径,也就是根目录)会更精准,避免不必要的重写。

额外注意事项

  • 确保/specific/url对应的资源确实存在于当前虚拟主机的文档根目录下,否则会返回404。
  • 如果你的目标路径是一个PHP文件或者其他动态资源,不需要额外修改,Apache会正常处理内部重写后的请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:37:33