基于Tomcat URL重定向

vmdwslir  于 2022-11-13  发布在  其他
关注(0)|答案(6)|浏览(508)

使用tomcat,我如何获得http://www.mydomain.example的请求以重定向到http://www.mydomain.example/somethingelse/index.jsp?我甚至还没有设法从http://mydomain.example获得index.html以显示。

ffvjumwh

ffvjumwh1#

您可以执行以下操作:如果您的tomcat安装是默认的,并且您没有做任何更改,那么默认的war将是ROOT.war。因此,无论何时您调用http://yourserver.example.com/,它都会调用默认WAR文件的index.htmlindex.jsp。在webapp/ROOT文件夹中进行以下更改,以便将请求重定向到http://yourserver.example.com/somewhere/else
1.打开webapp/ROOT/WEB-INF/web.xml,删除路径为/index.html/index.jsp的所有servletMap,然后保存。
1.如果webapp/ROOT/index.html存在,请将其删除。
1.创建包含以下内容行的文件webapp/ROOT/index.jsp

<% response.sendRedirect("/some/where"); %>

或者如果要定向到其他服务器,

<% response.sendRedirect("http://otherserver.example.com/some/where"); %>

就这样了。

8ulbf1ek

8ulbf1ek2#

将您的Web应用程序WAR命名为“ROOT.war”或包含文件夹“ROOT”

cs7cruho

cs7cruho3#

看一看UrlRewriteFilter,它本质上是Apache的mod_rewrite的基于Java的实现。
您需要将其解压缩到Tomcat的webapps文件夹下的ROOT文件夹中;然后您可以在其WEB-INF/urlrewrite.xml配置文件中配置到任何其他上下文的重定向。

ss2ws0br

ss2ws0br4#

测试和工作程序:
后藤文件路径..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp
删除整个内容或声明index.jsp顶部的以下代码行
<% response.sendRedirect("http://yourRedirectionURL"); %>
请注意,在jsp文件中,您需要以〈%开始以上行,并以%〉结束

jv2fixgn

jv2fixgn5#

我做了什么:
我在ROOT/index.jsp中添加了以下代码行

<meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
5n0oy7gb

5n0oy7gb6#

在Tomcat 8中,您还可以使用重写阀

RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/(.*)$         /somethingelse/index.jsp

要设置重写阀,请查看此处:
http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-valve-in-tomcat-8/

相关问题