使用tomcat,我如何获得http://www.mydomain.com重定向到http://www.mydomain.com/somethingelse/index.jsp的请求?我甚至没有设法从http://mydomain.com显示index.html。
答案 0 :(得分:95)
你可以这样做:
如果您的tomcat安装是默认安装且未进行任何更改,则默认战争将为ROOT.war
。因此,无论何时调用http://yourserver.example.com/
,它都会调用默认WAR文件的index.html
或index.jsp
。在webapp/ROOT
文件夹中进行以下更改,以便将请求重定向到http://yourserver.example.com/somewhere/else
:
打开webapp/ROOT/WEB-INF/web.xml
,
删除路径为/index.html
或/index.jsp
的任何servlet映射,
并保存。
删除webapp/ROOT/index.html
(如果存在)。
使用以下内容创建文件webapp/ROOT/index.jsp
:
<% response.sendRedirect("/some/where"); %>
或者如果您想直接转到其他服务器,
<% response.sendRedirect("http://otherserver.example.com/some/where"); %>
就是这样。
答案 1 :(得分:24)
将您的webapp WAR命名为“ROOT.war”或包含“ROOT”文件夹
答案 2 :(得分:17)
看一下UrlRewriteFilter,这本质上是基于java的mod的mod_rewrite实现。
您需要将其解压缩到Tomcat的ROOT
文件夹下的webapps
文件夹中;然后,您可以将重定向配置到其WEB-INF/urlrewrite.xml
配置文件中的任何其他上下文。
答案 3 :(得分:8)
经测试和工作程序:
转到文件路径
..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp
删除整个内容或在index.jsp
的顶部声明以下代码行 <% response.sendRedirect("http://yourRedirectionURL"); %>
请注意,在jsp文件中,您需要以&lt;%开头,并以%&gt;结束
答案 4 :(得分:6)
我做了什么:
我在ROOT / index.jsp
中添加了以下行 <meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
答案 5 :(得分:0)
在Tomcat 8中,您也可以使用rewrite-valve
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/(.*)$ /somethingelse/index.jsp
要设置重写阀,请看这里:
http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-valve-in-tomcat-8/