0

.htaccess 的规则是什么,因此指向的请求http://x.y.z.com/将从http://y.z.com/x/(没有重定向 302)提供服务?

4

1 回答 1

2

如果您想在没有重定向的情况下为来自不同主机的请求提供服务,Apache 必须充当远程 URL 的代理。

为此,您必须首先在服务器配置中启用mod_proxy 。

那么你有两种方法可以实现这一点。

使用 mod_rewrite:

RewriteRule /(.*)$ http://y.z.com/x/$1 [P]

请注意,此技术使用 Apache 服务器的默认无连接代理处理,其性能相当差。

使用 mod_proxy 指令:

在您的虚拟主机配置中,添加以下内容:

ProxyPass / http://y.z.com/x/
ProxyPassReverse / http://y.z.com/x/

ProxyPassReverse 配置对于正确处理由远程主机(在您的情况下为 yzcom)发起的重定向是必要的。

这是执行此操作的推荐方法。

于 2013-11-05T13:11:26.423 回答