Versión 2.5 del Servidor HTTP Apache

Este documento complementa la mod_rewrite
documentación de referencia. Describe
cómo usar la bandera [P] de RewriteRule para hacer proxy de contenido a otro servidor.
Se proporcionan varias recetas que describen escenarios comunes.
mod_rewrite proporciona la bandera [P], que permite pasar URLs,
a través de mod_proxy, a otro servidor. Aquí se dan dos ejemplos. En
un ejemplo, una URL se pasa directamente a otro servidor, y se sirve
como si fuera una URL local. En el otro ejemplo, hacemos proxy del
contenido faltante a un servidor backend.
Para simplemente mapear una URL a otro servidor, usamos la bandera [P], de la siguiente manera:
RewriteEngine on RewriteBase "/products/" RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P] ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"
En el segundo ejemplo, hacemos proxy de la solicitud solo si no podemos encontrar el recurso localmente. Esto puede ser muy útil cuando está migrando de un servidor a otro, y no está seguro de si todo el contenido ha sido migrado todavía.
RewriteCond "%{REQUEST_FILENAME}" !-f
RewriteCond "%{REQUEST_FILENAME}" !-d
RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
ProxyPassReverse "/" "http://old.example.com/"
En cada caso, añadimos una directiva ProxyPassReverse para asegurar
que cualquier redirección emitida por el backend se pase correctamente al
cliente.
Considere usar ProxyPass o ProxyPassMatch siempre que sea posible en
preferencia a mod_rewrite.