
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.com
que apunte a site.devexample.com
(entorno remoto de desarrollo en el lado de los proveedores)
Si un usuario visita site.example.com
la 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.com
se 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 foobar
es una ubicación sin sentido, no interferirá con el tráfico real. Apunte su navegador foobar
y 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