Tomcat URL重写

问题描述 投票:0回答:1

想为Tomcat9的URL重写寻求帮助。

我使用J2EE和MVC框架开发了一个Web应用程序。

当前URL用于访问Web

http://www.example.com:8080/MyApp/App/login.html 

(Login.html是我的默认index.html)

我希望实现的是获取http://www.example.com:8080/login.html意味着对于每个页面,MyApp / App结构都将从URL隐藏

我研究过URL重写,但我对使用的正则表达式感到困惑。例如,我发现了以下片段,但我不太清楚RewriteRule的第二行是什么意思。第一行可能意味着忽略css,img,js文件。

RewriteCond %{REQUEST_URI} ^/(css|img|js|partials|rest|favicon).*$
RewriteRule ^.*$ - [L]

感谢您的帮助。

java tomcat java-ee
1个回答
2
投票

看起来你正在使用Apache来重写URL。为什么不把login.html放在网络应用的根目录下?谁决定它应该在MyApp / App?我想也许MyApp来自你的WAR文件,而App是一个servlet挂载点或类似的东西,对吧?您可以通过命名文件ROOT.WAR,but there are other methods too来摆脱WAR路径。要摆脱App,可以将servlet挂载到“/”,或者(如果框架支持它)使用过滤器而不是servlet来为您的请求提供服务。

你所包含的重写规则(它只是一条规则),如果请求URL以css,img等开头(RewriteCond正则表达式),则不做任何事情(这就是' - '的意思)并停止评估重写规则([L]代表最后)。它对你的情况似乎没有用,但这可能是一个排除:我们确实想要应用之后还有其他规则,这个规则旨在避免重写一些路径(css,img等)我们想独自离开。

© www.soinside.com 2019 - 2024. All rights reserved.