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

如何在WordPress中实现URL掩码 将指定页面内容映射到新域名显示

WordPress实现URL掩码(反向代理映射)的解决方案

你需要的是反向代理掩码功能,区别于301/302跳转,可实现地址栏始终显示新域名、内容拉取原域名指定路径的效果,以下是可落地的实现方案:


之前.htaccess规则不生效的常见原因

  • Apache未开启必要模块:需要先启用mod_proxy、mod_proxy_http、mod_rewrite三个核心模块
  • 虚拟主机配置中AllowOverride参数设置为None,导致.htaccess规则不被加载
  • 规则书写错误,未启用代理标记[P],仅写普通重写规则会变成跳转而非掩码

方案1:服务器层面配置(最稳定,优先推荐)

如果你用的是Apache服务器

如果有权限修改虚拟主机配置,优先写在httpd.conf或者站点配置文件里,比.htaccess性能更高:

<VirtualHost *:80>
    ServerName xyz.com
    # 若使用HTTPS则改成监听*:443,补充SSL证书相关配置
    ProxyRequests Off
    ProxyPass / http://abc.com/test/
    ProxyPassReverse / http://abc.com/test/
    # 替换页面内的原域名链接,避免资源加载异常
    AddOutputFilterByType SUBSTITUTE text/html
    Substitute "s|abc.com/test|xyz.com|i"
</VirtualHost>

如果只能用.htaccess,把以下代码放在xyz.com站点根目录的.htaccess文件最顶部:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^xyz\.com$ [NC]
RewriteRule ^(.*)$ http://abc.com/test/$1 [P,L]

如果你用的是Nginx服务器

在xyz.com的server配置块中添加以下规则:

server {
    listen 80;
    server_name xyz.com;
    # HTTPS配置自行补充证书、监听443端口逻辑
    location / {
        proxy_pass http://abc.com/test/;
        proxy_set_header Host abc.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 替换页面内原域名避免资源跳转
        sub_filter "abc.com/test" "xyz.com";
        sub_filter_once off;
    }
}

方案2:WordPress插件实现(无服务器配置权限时用)

如果没有权限修改服务器配置,可以安装WordPress反向代理类插件完成配置:

  • 安装并启用WP Reverse Proxy插件
  • 在插件设置中添加映射规则:源域名填写xyz.com,目标地址填写http://abc.com/test
  • 开启URL替换功能,将页面中所有abc.com/test的链接替换为xyz.com
  • 保存设置后刷新站点缓存即可生效

注意事项

  • 两个域名都需要配置有效的SSL证书,否则HTTPS访问时会报错
  • 如果原站点开启了防盗链,需要将xyz.com加入白名单,避免图片、样式等资源加载失败
  • 配置完成后需要清除浏览器缓存、站点缓存后再测试效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:45:02