正如你所看到的,我试图让/和/ BowlingFacelets / faces /指向同一个地方。
问题是,当我对表单进行求和时,JSF页面将添加/ BowlingFacelets / faces /。但是,我不希望最终用户必须键入这样一个长语句来启动应用程序。有没有办法做到这一点?
请注意,如果我手动添加
,这将有效score.megahooked.com/BowlingFacelets/faces to the URL
ProxyPass / http://megahooked.com:8080/
ProxyPassReverse / http://megahooked.com:8080/
这将无法正常使用
score.megahooked.com/createEvent.xhtml
因为提交新网址时会是 找不到找到的.megahooked.com/BowlingFacelets/faces/updateEvent.xhtml。
<VirtualHost *:80>
ServerName score.megahooked.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://megahooked.com:8080/BowlingFacelets/faces/
ProxyPassReverse / http://megahooked.com:8080/BowlingFacelets/faces/
ProxyPass /BowlingFacelets/faces/ http://megahooked.com:8080/BowlingFacelets/faces/
ProxyPassReverse /BowlingFacelets/faces/ http://megahooked.com:8080/BowlingFacelets/faces/
</VirtualHost>
答案 0 :(得分:0)
解决方案可能是使用mod_proxy_html。它可以解析HTML文档并重写内部URL。这里例如我使应用程序“restfrontend”(映射到“/ restfrontend”)可以作为根应用程序访问(映射到“/”)
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLMeta On
ProxyHTMLLogVerbose On
ProxyHTMLURLMap ^/restfrontend()$ $1 [LR]
ProxyHTMLURLMap /restfrontend/ /
ProxyPassReverseCookiePath /restfrontend /
ProxyHTMLDoctype HTML
我强烈反对这样做。该模块很难配置。在同一时间配置两条可能的路径将是一场噩梦。
更好的解决方案是直接在Tomcat中将应用程序部署为ROOT,并为其他URL快捷方式添加一些重定向(RewriteRule,[R = 301]选项)。