我有一个 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/