Можно ли заменить содержимое на каждой странице, передаваемой через прокси, подобно тому, как mod_rewrite используется для URL? Документация по замене не понятна.
У меня есть несколько страниц с обратным проксированием, которые имеют абсолютные пути. Это ломает сайт. Они нуждаются в замене, и такие инструменты, как mod_rewrite, не поднимают их, поскольку они не являются 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>
Ничто из вышеперечисленного не работает при замене строки HTML
<link href="/server///uat.site.co.jp/css/css.css
с
<link href="/server///uat.site2uk.co.uk/css/css.css
Конф после изменений:
<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
тегах. Если вы можете, я не могу сказать, что это была бы хорошая идея .. В любом случае, это не ваш вопрос. Согласно документации Apache , substitute
директива действует только внутри Directory
блоков или .htaccess
файлов. Попробуйте создать <location>
блок (даже если это для /) и поместите туда директиву.
a
тега HTML . Нажатие на эту ссылку скорее всего не приведет к тому, что веб-браузер перейдет по ссылке, а скорее к файловому браузеру (Windows Explorer), пытающемуся открыть UNC. Вы пытаетесь заменить эту строку в тексте HTML?