URL的apache重写规则

时间:2014-01-21 10:09:39

标签: apache tomcat mod-rewrite url-rewriting

我的java应用程序部署在tomcat上,我正在使用apache的重写规则来使用apache访问应用程序。 我的应用程序名称是部署在tomcat / webapps / my /

上的my.war

我在httpd.conf中使用了以下重写规则

    RewriteEngine On
    ProxyPreserveHost On

    RewriteRule ^/$  \
    http://localhost:8082/my [P]

    RewriteRule ^/(my/.*)$  \
    http://localhost:8082/$1 [P,R,L]

当我打开www.mydomain.com/时,它将网址更改为www.mydomain.com/my/ 我不想要这个,我希望网址是www.mydomain.com/,它应该打开我的应用程序的登录页面。

2 个答案:

答案 0 :(得分:0)

您应该使用mod_proxy的ProxyPass代替:

ProxyPass / http://localhost:8082/my/

答案 1 :(得分:0)

您需要在tomcat上将应用程序安装为“ROOT”应用程序。当你登陆tomcat时,Tomcat会自动将.war作为基本URL。为此,只需将“my.war”重命名为“ROOT.war”并重新部署即可。

注意,在某些Tomcat实例上,会有一个预安装的默认“ROOT”应用程序,用于通过Web UI管理某些Tomcat设置和应用程序。部署自己的ROOT.war自然会取代这个实用程序。