如何透明地将旧的主机URL重写为新的主机URL?

时间:2012-05-19 19:32:18

标签: apache

我在同一个域(以及同一物理系统)中有两个apache虚拟主机:

old.example.com
new.example.com

我希望能够透明地重写或将某些旧网址映射到新网址。例: 对http://old.example.com/foo的请求实际上会导致http://new.example.com/foo

的请求

我希望http客户端(浏览器)不知道重写...换句话说,我不打算重定向。而且,我只想重写特定的网址。

我可以将哪些内容添加到虚拟主机或htaccess文件中以实现此目的?

2 个答案:

答案 0 :(得分:0)

我猜你可以set up your virtual hosts via mod_rewrite,然后只需将这些重写步骤添加到配置中。

但是,如果你要做的就是重新使用文件系统中的一些东西,在配置文件中没有任何魔法,我会使用符号链接。 (不过,我不知道是否有任何Windows服务器的等价物。)

答案 1 :(得分:0)

我在这里找到了答案:{{3>}标题为 Dynamic Mirror 的部分。我将此添加到http://httpd.apache.org/docs/2.0/misc/rewriteguide.html上的htaccess:

RewriteEngine on
RewriteBase /
RewriteRule ^foo http://new.example.com/foo [P]

功能标志 P 告诉规则使用代理吞吐量