Как с помощью tomcat получить запрос для http://www.mydomain.com на перенаправление на http://www.mydomain.com/somethingelse/index.jsp ? Мне даже не удалось получить index.html для отображения с http://mydomain.com .
Как с помощью tomcat получить запрос для http://www.mydomain.com на перенаправление на http://www.mydomain.com/somethingelse/index.jsp ? Мне даже не удалось получить index.html для отображения с http://mydomain.com .
Ответы:
Назовите ваше веб-приложение WAR «ROOT.war» или содержащее папку «ROOT».
Вы можете сделать это: если ваша установка tomcat по умолчанию и вы не внесли никаких изменений, тогда будет война по умолчанию ROOT.war
. Таким образом, всякий раз, когда вы вызываете http://yourserver.example.com/
, он будет вызывать index.html
или index.jsp
вашего файла WAR по умолчанию. Внесите следующие изменения в свою webapp/ROOT
папку для перенаправления запросов на http://yourserver.example.com/somewhere/else
:
Откройте webapp/ROOT/WEB-INF/web.xml
, удалите все сопоставления сервлетов с помощью пути /index.html
или /index.jsp
и сохраните.
Удалите webapp/ROOT/index.html
, если он существует.
Создайте файл webapp/ROOT/index.jsp
с этой строкой содержимого:
<% response.sendRedirect("/some/where"); %>
или если вы хотите перейти на другой сервер,
<% response.sendRedirect("http://otherserver.example.com/some/where"); %>
Вот и все.
Взгляните на UrlRewriteFilter, который по сути является Java-реализацией Apache mod_rewrite.
Вам нужно будет распаковать его в ROOT
папку в папке Tomcat webapps
; затем вы можете настроить перенаправления в любой другой контекст в его WEB-INF/urlrewrite.xml
файле конфигурации.
Проверено и рабочая процедура:
Перейти к пути к файлу
..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp
удалите все содержимое или объявите приведенные ниже строки кода в верхней части index.jsp
<% response.sendRedirect("http://yourRedirectionURL"); %>
Обратите внимание, что в jsp файле вам нужно начинать указанную выше строку с <% и заканчивать с%>
Что я сделал:
Я добавил следующую строку в ROOT / index.jsp
<meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
<% response.sendRedirect("/some/where"); %>
HTTPS, и теперь он работает.
В Tomcat 8 вы также можете использовать rewrite-valve
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/(.*)$ /somethingelse/index.jsp
Чтобы настроить rewrite-valve, смотрите здесь:
http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-valve-in-tomcat-8/