Jak za pomocą tomcat mogę uzyskać żądanie dotyczące http://www.mydomain.com przekierowania do http://www.mydomain.com/somethingelse/index.jsp ? nie udało mi się nawet uzyskać pliku index.html do wyświetlenia z http://mydomain.com .
79
Odpowiedzi:
Nazwij swoją aplikację internetową WAR „ROOT.war” lub zawierającą folder „ROOT”
źródło
Możesz to zrobić: Jeśli twoja instalacja tomcat jest domyślna i nie wprowadziłeś żadnych zmian, domyślną wojną będzie
ROOT.war
. Zatem za każdym razem, gdy zadzwoniszhttp://yourserver.example.com/
, wywołaindex.html
lubindex.jsp
z twojego domyślnego pliku WAR. Wprowadź następujące zmiany w swoimwebapp/ROOT
folderze, aby przekierować żądania dohttp://yourserver.example.com/somewhere/else
:Otwórz
webapp/ROOT/WEB-INF/web.xml
, usuń wszelkie mapowanie serwletów za pomocą ścieżki/index.html
lub/index.jsp
i zapisz.Usuń
webapp/ROOT/index.html
, jeśli istnieje.Utwórz plik
webapp/ROOT/index.jsp
z następującą linią treści:<% response.sendRedirect("/some/where"); %>
lub jeśli chcesz przekierować na inny serwer,
<% response.sendRedirect("http://otherserver.example.com/some/where"); %>
Otóż to.
źródło
Przyjrzyj się UrlRewriteFilter, który jest zasadniczo opartą na Javie implementacją mod_rewrite Apache.
Będziesz musiał wyodrębnić go do
ROOT
folderu znajdującego się w folderze Tomcatwebapps
; możesz następnie skonfigurować przekierowania do dowolnego innego kontekstu w jegoWEB-INF/urlrewrite.xml
pliku konfiguracyjnym.źródło
Przetestowana i działająca procedura:
Przejdź do ścieżki pliku
..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp
usuń całą zawartość lub zadeklaruj poniższe wiersze kodu na początku pliku index.jsp
<% response.sendRedirect("http://yourRedirectionURL"); %>
Zauważ, że w pliku jsp musisz zaczynać powyższą linię od <% i kończyć%>
źródło
Co ja zrobiłem:
Dodałem następujący wiersz w pliku ROOT / index.jsp
<meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
źródło
<% response.sendRedirect("/some/where"); %>
i teraz działa z HTTPS.W Tomcat 8 możesz również skorzystać z przepisywania zaworu
RewriteCond %{REQUEST_URI} ^/$ RewriteRule ^/(.*)$ /somethingelse/index.jsp
Aby skonfigurować zawór przepisywania, spójrz tutaj:
http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-valve-in-tomcat-8/
źródło