tomcat - full - lenguajes backend
Url Rewrite está redirigiendo en lugar de volver a escribir en el back-end (1)
Pensé que tuckey-urlrewrite-filter reescribiría la URL en el back-end. Así que si escribo en la barra de dirección http://localhost:8080/TEST/some/yo
espero que esa dirección permanezca en la barra de direcciones pero en el backend para que Tomcat la procese como si hubiera escrito http://localhost:8080/TEST/jspinwebinftest/?param=yo
Pero en su lugar se redirecciona a http://localhost:8080/TEST/jspinwebinftest/?param=yo
y lo muestra en la barra de direcciones.
¿Cómo puedo obtener que reescriba solo la URL en el back-end? Aquí está mi urlrewrite.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule>
<from>^/some/(.*)$</from>
<to type="redirect">/TEST/jspinwebinftest/?param=$1</to>
</rule>
</urlrewrite>
Encontré la respuesta. Bastante simple en realidad. Necesitaba eliminar el type="redirect"
que estaba en el XML de ejemplo en el sitio web de tuckey. Y descubrí que al redirigir, debes agregar tu aplicación de contexto en la etiqueta to
, pero cuando no estás redireccionando, no debes:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule>
<from>^/some/(.*)$</from>
<to>/jspinwebinftest/?param=$1</to>
</rule>
</urlrewrite>