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

Apache下mod_rewrite实现子域名URL掩码转发问题求助

解决Apache mod_rewrite实现域名掩码转发的问题

你之前规则的问题分析:

  • 第一种规则:%{HTTP_HOST}里错误添加了斜杠/,HTTP_HOST仅包含域名部分,不会带路径,导致条件匹配失败。
  • 第二种规则:正则表达式写错,^pay\.)?example\.com$多了一个右括号,匹配逻辑混乱,无法正确识别pay.example.com。
  • 第三种规则:使用R=301会触发浏览器永久重定向,直接修改地址栏URL,完全不符合“URL掩码”的需求。

正确配置步骤:

  1. 确认Apache模块状态:必须启用mod_rewrite、mod_proxy、mod_proxy_http三个模块,[P]标记依赖代理模块才能实现内部转发且不修改URL。
  2. 调整规则顺序:把转发规则放在WordPress默认规则的最前面,避免被WordPress的规则优先拦截。

最终.htaccess配置示例:

RewriteEngine On

# 实现pay.example.com的掩码转发
RewriteCond %{HTTP_HOST} ^pay\.example\.com$ [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,P]

# 保留WordPress默认规则(原内容不动)
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

额外注意事项:

  • 确保newdomain.com的服务器配置没有限制Host头访问,否则代理请求会被拒绝。
  • 如果使用HTTPS,需确保Apache配置了有效SSL证书且mod_ssl已启用。
  • 测试前清空浏览器缓存,避免旧的重定向记录干扰结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 10:37:40