如何在 Apache 中重定向 URL 到另外一台服務器
假設你正在重新設計公司的網站。你已決定將內容和樣式(HTML文件、JavaScript 和 CSS)存儲在一個服務器上,將文檔存儲在另一個服務器上 - 這樣可能會更穩健。
建議閱讀: 5 個提高 Apache Web 服務器性能的提示 。
但是,你希望這個更改對用戶是透明的,以便他們仍然能夠通過之前的網址訪問文檔。
在下麵的例子中,名為 assets.pdf
的文件已從 192.168.0.100
(主機名:web
)中的/var/www/html
移動到192.168.0.101
(主機名:web2
)中的相同位置。
為了讓用戶在瀏覽到 192.168.0.100/assets.pdf
時可以訪問到此文件,請打開 192.168.0.100
上的 Apache 配置文件並添加以下重寫規則(或者也可以將以下規則添加到 .htaccess 文件)中:
RewriteRule "^(/assets\.pdf$)" "https://192.168.0.101$1" [R,L]
其中 $1
占位符,代表與括號中的正則表達式匹配的任何內容。
現在保存更改,不要忘記重新啟動 Apache,讓我們看看當我們打開 192.168.0.100/assets.pdf
,嚐試訪問 assets.pdf
時會發生什麼:
建議閱讀: 25 個有用的網站 .htaccess 技巧
在下麵我們就可以看到,為 192.168.0.100
上的 assets.pdf
所做的請求實際上是由192.168.0.101
處理的。
# tail -n 1 /var/log/apache2/access.log
檢查 Apache 日誌
原文發布時間為:2017-01-02
本文來自雲棲社區合作夥伴“Linux中國”
最後更新:2017-05-31 11:03:53