Tomcat基本URLredirect
使用tomcat,我如何获得http://www.mydomain.com的请求redirect到http://www.mydomain.com/somethingelse/index.jsp ? 我甚至没有设法从http://mydomain.com得到一个index.html显示。
命名您的web应用程序WAR“ROOT.war”或包含文件夹“ROOT”
你可以这样做:如果你的tomcat安装是默认的,并且你没有做任何改变,那么默认的war将是ROOT.war
。 因此,无论何时调用http://yourserver.example.com/
,它都会调用默认WAR文件的index.html
或index.jsp
。 在webapp/ROOT
文件夹中进行以下更改,将请求redirect到http://yourserver.example.com/somewhere/else
:
-
打开
webapp/ROOT/WEB-INF/web.xml
,删除path为/index.html
或/index.jsp
任何servlet映射,然后保存。 -
删除
webapp/ROOT/index.html
(如果存在)。 -
用这行内容创build文件
webapp/ROOT/index.jsp
:<% response.sendRedirect("/some/where"); %>
或者如果你想直接到不同的服务器,
<% response.sendRedirect("http://otherserver.example.com/some/where"); %>
而已。
看一看UrlRewriteFilter ,它本质上是Apache的mod_rewrite的一个基于java的实现。
您需要将其解压到Tomcat的webapps
文件夹下的ROOT
文件夹中; 您可以将redirectconfiguration到其WEB-INF/urlrewrite.xml
configuration文件中的任何其他上下文。
我做了什么:
我在ROOT / index.jsp中添加了以下行
<meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
testing和工作程序:
转到文件path..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp
删除整个内容或者在index.jsp的顶部声明下面的代码行
<% response.sendRedirect("http://yourRedirectionURL"); %>
请注意,在jsp文件中,你需要用<%开始上面的行,并以%结束