Czy możliwe jest zastąpienie treści na każdej stronie przechodzącej przez serwer proxy podobnie jak w przypadku mod_rewrite dla adresów URL? Dokumentacja zastępcza nie jest jasna.
Mam kilka stron, które odwracam, które mają ścieżki bezwzględne. To psuje witrynę. Potrzebują wymiany, a narzędzia takie jak mod_rewrite nie wychwytują ich, ponieważ nie są żądaniami adresów 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>
Żadne z powyższych nie zastępuje ciągu HTML
<link href="/server///uat.site.co.jp/css/css.css
z
<link href="/server///uat.site2uk.co.uk/css/css.css
Konf. Po zmianach:
<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
tagach. Jeśli możesz, nie mogę powiedzieć, że byłby to dobry pomysł. W każdym razie to nie twoje pytanie. Według dokumentów Apache , substitute
dyrektywa obowiązuje tylko w Directory
blokach lub .htaccess
plikach. Spróbuj utworzyć <location>
blok (nawet jeśli jest dla /) i umieść tam dyrektywę.
a
tagu HTML . Kliknięcie tego łącza prawdopodobnie nie spowoduje, że przeglądarka internetowa podąży za nim, a raczej przeglądarka plików (Eksplorator Windows), która spróbuje otworzyć UNC. Czy próbujesz zastąpić ten ciąg w tekście HTML?