Avec Tomcat, comment puis-je obtenir une demande de http://www.mydomain.com pour rediriger vers http://www.mydomain.com/somethingelse/index.jsp ? Je n'ai même pas réussi à obtenir un index.html à afficher à partir de http://mydomain.com .
Nommez votre application web WAR «ROOT.war» ou le dossier contenant «ROOT».
Vous pouvez faire ceci: Si votre installation Tomcat est la configuration par défaut et que vous n’avez apporté aucune modification, la valeur par défaut sera ROOT.war
. Ainsi, chaque fois que vous appellerez http://yourserver.example.com/
, le index.html
ou index.jsp
de votre fichier WAR par défaut sera appelé. Apportez les modifications suivantes dans votre dossier webapp/ROOT
pour rediriger les demandes vers http://yourserver.example.com/somewhere/else
:
Ouvrez webapp/ROOT/WEB-INF/web.xml
, Supprimez tout mappage de servlet avec le chemin /index.html
ou /index.jsp
, Et enregistrez.
Supprimez webapp/ROOT/index.html
, s'il existe.
Créez le fichier webapp/ROOT/index.jsp
avec cette ligne de contenu:
<% response.sendRedirect("/some/where"); %>
ou si vous voulez diriger vers un autre serveur,
<% response.sendRedirect("http://otherserver.example.com/some/where"); %>
C'est tout.
Jetez un coup d'œil à UrlRewriteFilter , qui est essentiellement une implémentation Java du mod_rewrite d'Apache.
Vous devrez l'extraire dans le dossier ROOT
du dossier webapps
de votre Tomcat. vous pouvez ensuite configurer les redirections vers tout autre contexte dans son fichier de configuration WEB-INF/urlrewrite.xml
.
Ce que j'ai fait:
J'ai ajouté la ligne suivante à l'intérieur de ROOT/index.jsp
<meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
Dans Tomcat 8, vous pouvez également utiliser le rewrite-Valve
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/(.*)$ /somethingelse/index.jsp
Pour configurer la rewrite-Valve, regardez ici:
http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-Valve-in-Tomcat-8/