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

如何使用Apache 2.4的mod_rewrite或mod_proxy实现旧域名到新域名的透明转发(不改变浏览器URL)

如何使用Apache 2.4的mod_rewrite或mod_proxy实现旧域名到新域名的透明转发(不改变浏览器URL)

嘿,刚好碰到过类似的迁移场景,给你梳理两种靠谱的实现方式,完全满足你“用户无感知、URL不变化”的需求,还能配合你的回退策略:

一、推荐用mod_proxy反向代理(最稳定的透明转发方案)

这是Apache官方推荐的反向代理方式,比mod_rewrite更直接,适合这种域名迁移的场景。

步骤1:先启用必要的模块

如果你用的是Debian/Ubuntu系服务器,先执行这两条命令启用模块:

a2enmod proxy
a2enmod proxy_http

如果是CentOS/RHEL或者手动配置httpd.conf的话,要确保配置文件里有这两行(没有就加上):

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

步骤2:配置转发规则

你可以选择配置在旧服务器的VirtualHost里(推荐,比.htaccess效率更高),或者用.htaccess(需要先确保VirtualHost里开启了AllowOverride All)。

方式A:VirtualHost配置(推荐)

找到旧域名对应的VirtualHost配置,改成下面这样:

<VirtualHost *:80>
    ServerName example1.mycompany.com

    # 保留请求的Host头,确保新服务器能识别原域名(如果你的应用依赖Host的话)
    ProxyPreserveHost On
    # 把所有请求转发到新服务器
    ProxyPass / http://example2.mycompany.com/
    # 处理新服务器返回的重定向,自动把新域名替换回旧域名,避免浏览器URL变化
    ProxyPassReverse / http://example2.mycompany.com/
</VirtualHost>

方式B:.htaccess配置

如果必须用.htaccess,在旧服务器的网站根目录创建/编辑.htaccess文件,内容如下:

RewriteEngine On
ProxyPreserveHost On
ProxyPass / http://example2.mycompany.com/
ProxyPassReverse / http://example2.mycompany.com/

二、用mod_rewrite实现(本质也是调用代理)

如果更习惯用rewrite规则,也可以这么配,效果和上面差不多:

RewriteEngine On
# 只匹配旧域名的请求
RewriteCond %{HTTP_HOST} ^example1\.mycompany\.com$
# [P]标记告诉Apache用mod_proxy处理转发,[L]表示这是最后一条规则
RewriteRule ^(.*)$ http://example2.mycompany.com/$1 [P,L]
# 同样要加这条处理重定向,避免URL跳转
ProxyPassReverse / http://example2.mycompany.com/

关键注意事项

  • 网络连通性:要确保旧服务器能访问新服务器的80端口(如果是HTTPS的话要开443),防火墙别挡了!
  • HTTPS场景适配:如果你的站点用HTTPS,还要启用mod_ssl,旧服务器要配置好SSL证书,然后把转发地址改成https://example2.mycompany.com/,还要加上SSLProxyEngine On来支持HTTPS转发。
  • 回退策略:你可以暂时保留旧服务器上的应用,万一新服务器扛不住负载,直接注释掉代理配置,重启Apache就能切回旧应用,非常方便!
  • 测试验证:用curl -v http://example1.mycompany.com测试,看响应是不是来自新服务器,同时打开浏览器访问旧域名,确认地址栏没有变成新域名。

备注:内容来源于stack exchange,提问作者draikes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:49:32