2009-09-01 33 views
53

Usando tomcat, ¿cómo obtengo una solicitud de http://www.mydomain.com para redireccionar a http://www.mydomain.com/somethingelse/index.jsp? Ni siquiera he logrado obtener un index.html para mostrar desde http://mydomain.com.Tomcat URL base de redirección

+0

hay una razón .htaccess o isapi no funcionaría? –

+4

@NonaUrbiz: ¿no es .htaccess el servidor http de Apache específico y no funciona con Tomcat? –

+0

Para cualquier otra persona, Tomcat no parece recomendarlo, consulte sus documentos: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache – KCD

Respuesta

19

Nombre GUERRA su webapp “ROOT.war” o que contiene “ROOT” carpeta

17

Tome un vistazo a UrlRewriteFilter que es esencialmente una aplicación basada en Java de mod_rewrite de Apache.

Deberá extraerlo en la carpeta ROOT de la carpeta Tomcat webapps; luego puede configurar redirecciones a cualquier otro contexto dentro de su archivo de configuración WEB-INF/urlrewrite.xml.

+0

UrlRewriteFilter es rápido y funcionó bien para mí. [el manual] (http: //urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html) tiene excelentes opciones y [esta publicación en el blog] (http://nematodes.org/martin/2010/02/04/301-permanent-redirect -with-tomcat-howto /) también tiene buena información. – cwd

76

Puede hacer esto: Si su instalación de tomcat es la predeterminada y no ha realizado ningún cambio, entonces la guerra predeterminada será ROOT.war. Por lo tanto, cada vez que llame al http://yourserver.example.com/, llamará al index.html o index.jsp de su archivo WAR predeterminado. Realizar los siguientes cambios en su carpeta webapp/ROOT para redirigir las peticiones a http://yourserver.example.com/somewhere/else:

  1. abierto webapp/ROOT/WEB-INF/web.xml, eliminar cualquier correlación de servlet con el camino de /index.html o /index.jsp, y guardar.

  2. Eliminar webapp/ROOT/index.html, si existe.

  3. Crear el archivo webapp/ROOT/index.jsp con esta línea de contenido:

    <% response.sendRedirect("/some/where"); %> 
    

    o si desea dirigir a un servidor diferente,

    <% response.sendRedirect("http://otherserver.example.com/some/where"); %> 
    

Eso es todo.

+7

Solo es necesario el paso 2. Probado en Tomcat 7. – dustmachine

+11

El comando sendRedirect era todo lo que necesitaba. index.jsp simplemente contiene: <% response.sendRedirect ("/ jasperserver"); %> –

+2

No olvides agregar <% and %> antes de cualquier scriptlet jsp –

8

lo que hice:

que añade la siguiente línea dentro de la raíz/index.jsp

<meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/> 
+2

Esto podría arruinar realmente sus datos de análisis, ya que la referencia se perderá. – sbichenko

+0

Esto funcionará, pero no es la manera de hacerlo. – AdrianRM

+0

Una pequeña ventaja de este método es que puede ir en index.html en lugar de index.jsp – Edd

5

probado y Procedimiento de trabajo:

Ir a la ruta del archivo ..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp

elimine todo el contenido o declare las siguientes líneas de código en la parte superior del índice.jsp

<% response.sendRedirect("http://yourRedirectionURL"); %>

Tenga en cuenta que en el archivo JSP que necesita para empezar la línea anterior con <% y terminar con%>

Cuestiones relacionadas