Apache mod_rewrite 的内容已移至不同的子域

Apache mod_rewrite 的内容已移至不同的子域

我有一个 URL xyz.example.com,其内容已移至 abc.example.com。

我知道这可以使用 mod_rewrite 进行重定向并且也已移动,但是在访问 xyz.example.com 时,在用户的浏览器中,url 也会更改为 abc.example.com,这是不可接受的。

我希望在用户的浏览器中,只有 xyz.example.com 可见,而不是 abc.example.com。请建议我可以在我的配置文件中使用的适当配置,

提前致谢。

答案1

目标中带有域名的重写规则是重定向。

重定向告诉浏览器对新的 URL 发出新的请求,因此重定向会改变浏览器中的 URL。

为了实现您的目标,您应该使用一种xyz.example.com充当前端服务器和abc.example.com后端服务器的机制。

然后,前端服务器会将传入的 HTTP 请求转发到其后端服务器,并将响应发送回客户端,所有这些对于最终用户来说都是完全透明的。

此机制由 Apache 模块处理,名为mod_proxy

您必须在 Apache 配置中启用此模块,然后使用如下指令设置虚拟主机:

ProxyPass / http://abc.domain.com/
ProxyPassReverse / http://abc.domain.com/

相关内容