¿Es posible reemplazar el contenido en cada página pasada a través de un proxy similar a cómo se usa mod_rewrite para las URL? La documentación sobre el sustituto no es clara.
Tengo algunas páginas con proxy inverso que tienen rutas absolutas. Esto rompe el sitio. Deben reemplazarse y las herramientas como mod_rewrite no los recogen, ya que no son solicitudes de URL.
<VirtualHost *:80>
ServerName servername1
ServerAlias servername2
ErrorLog "/var/log/proxy/jpuat_prox_error_log"
CustomLog "/var/log/proxy/jpuat_prox_access_log" common
RewriteEngine on
LogLevel alert rewrite:trace2
RewriteCond %{HTTP_HOST} /uat.site.co.jp$ [NC]
RewriteRule ^(.*)$ http://jp.uat.site2uk.co.uk/$1 [P]
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|uat.site.co.jp|jp.uat.site2uk.co.uk|i"
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://uat.site.co.jp/
ProxyPassReverse / http://uat.site.co.jp/
</VirtualHost>
Ninguno de los anteriores funciona para reemplazar la cadena HTML
<link href="/server///uat.site.co.jp/css/css.css
con
<link href="/server///uat.site2uk.co.uk/css/css.css
Conf después de los cambios:
<VirtualHost *:80>
ServerName jp.uat.site2uk.co.uk
ServerAlias uat.site.co.jp
ErrorLog "/var/log/proxy/jpuat_prox_error_log"
CustomLog "/var/log/proxy/jpuat_prox_access_log" common
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://uat.site.co.jp/
ProxyPassReverse / http://uat.site.co.jp/
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|uat.site.co.jp|jp.uat.site2uk.co.uk|ni"
</VirtualHost>
link
etiquetas. Si puedes, no puedo decir que sería una buena idea ... En cualquier caso, esa no es tu pregunta. Según los documentos de Apache , la substitute
directiva solo es válida dentro de Directory
bloques o .htaccess
archivos. Intente crear un <location>
bloque (incluso si es para /) y coloque la directiva allí.
a
etiqueta HTML . Al hacer clic en ese enlace, es probable que el navegador web no siga el enlace, sino que un navegador de archivos (Windows Explorer) intente abrir la UNC. ¿Estás tratando de reemplazar esa cadena en el texto HTML?