如何使用真实名称将URL重定向到httpd.conf中的另一个站点

时间:2012-10-20 09:54:11

标签: mod-rewrite httpd.conf

我的配置很简单:2个Apache服务器

  • 服务器1:带域名的“IP1”(test.com)
  • 服务器2:'没有域的IP2'

在我的服务器1的httpd.conf文件中,我想访问:

  • 使用url:test.com
  • 安装在服务器1上的tomcat
  • 到服务器2的apache,其中包含virtualhost,其中包含url:test.com/server2

Httpd.conf / Server 1

RewriteRule ^/server2$ http://'IP2'/web/test.php/  [L]
ProxyPass / ajp://'IP1':PORT/ retry=5

可行,但第二个网址不显示 test.com/server2 ,但 http://'IP2'/ web / test.php / 。 如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

http://'IP2'作为重写规则的目标的一部分自动302重定向浏览器。但由于它位于不同的计算机上,并且您不希望浏览器中的URL地址栏发生更改,因此您需要使用mod_proxy而不是mod_rewrite。

RewriteRule行更改为ProxyPass,以便它反向代理请求而不是重定向:

ProxyPassMatch ^/server2$ http://'IP2'/web/test.php/