เป็นไปได้หรือไม่ที่จะแทนที่เนื้อหาในทุก ๆ หน้าผ่านพร็อกซีคล้ายกับวิธีที่ 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
Conf หลังจากการเปลี่ยนแปลง:
<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 หรือไม่