Reescritura de Apache Tomcat

Reescritura de Apache Tomcat

Lo que intento hacer es configurar una regla de reescritura para que cuando se ingrese una URL se muestre como example.com/test.

Entonces, por ejemplo, estoy tratando de hacer esto si es posible.

He configurado el CNAME para site.example.comque apunte a site.devexample.com(entorno remoto de desarrollo en el lado de los proveedores)

Si un usuario visita site.example.comla URL se reescribirá con algo similar a este example.com/test.

Lo que tengo hasta ahora pero no parece funcionar, cuando lo visito site.example.comse queda como está.

# rewrite rules for site.example.com
RewriteCond %{http_host} ^site\.example\.com [NC,OR]
RewriteCond %{http_host} ^www\.site\.example\.com [NC]
RewriteRule $ http://example.com/test/ [R,L]

¿Tendré que hacer un proxy inverso y luego volver a escribir desde allí?

EDITAR: Pido disculpas, debería haberme explicado un poco mejor. site.example.com es propiedad de test.com (empresa A). Entonces cambiamos el CNAME para que apunte a site.devEnvironment.com (companyB.com).

y test.com/test es nuestro servidor y directorio, intentando reescribir la URL para que sea test.com/test en lugar de site.example.com

Nuestras redirecciones están configuradas en el archivo httpd.conf, no estoy seguro si esto también ayudará

Respuesta1

Voy a suponer que la expresión regular rewritecond o rewritemap no coincide. He descubierto que son resbaladizos.

Asegúrese de tener un registro mod_rewrite muy detallado (apache 2.4 configuradoNivel de registro, conjunto de apache 2.2Reescribir registro) Si no es administrador del servidor web, probablemente esto no le ayude.

Pruebe una reescritura como esta:

RewriteRule ^foobar /clams/%{HTTP_HOST}/fish [R,L]

Dado que foobares una ubicación sin sentido, no interferirá con el tráfico real. Apunte su navegador foobary lo redireccionará a otra ubicación sin sentido y le dará un error, pero la barra de URL también le dirá exactamente qué %{HTTP_HOST}contiene la var. (Las almejas y el pescado deben actuar como comillas, por lo que si %{HTTP_HOST}contienen una barra o un espacio en blanco, otro carácter complicado, lo verá).

(eliminado/de foobar para compatibilidad con .htaccess, gracias @w3dk)

Respuesta2

Lo que terminé haciendo fue configurar un proxypass /test site.example.com

De modo que cuando el servidor vea /test cargará el contenido de site.example.com

información relacionada