在系統做一些大的、比較耗時的釋出的時候,往往需要停服很長時間,這期間有使用者通路的話,就需要展示一個更新說明的頁面,這個頁面放在反向代理伺服器中;反向代理伺服器如httpd有請求URL重寫子產品,通過它可以實作這種需求。
How?
1.引入rewrite子產品
在httpd.conf中添加
2.配置重寫規則
3.注意永久重定向301和臨時重定向302
配置後,非index.html的請求會被重定向到index.html,狀态碼是302(臨時重定向);如果配置永久重定向[R=permanent,L],則狀态碼會是301,這會導緻在釋出完成并關閉了重定向後,如果不清理浏覽器緩存,将會一直重定向到index.html,因為狀态碼是301,浏覽器會直接使用本地緩存而不再請求遠端伺服器。
4.301和302測試
下面來測試一下,添加了2個html頁面
1) 配置為臨時重定向,非index.html請求都重定向到index.html
2)重新開機httpd并通路test.html
可以看到以及被重定向到index.html了,狀态碼是302
3)關閉重定向配置,然後重新開機伺服器并再次通路test.html
不再被重定向
4)配置為永久重定向
5)重新開機并通路,狀态碼是301
6)關閉重定向配置,重新開機伺服器,通路test.html
可以看到還是使用的浏覽器緩存
在手動清理了浏覽器緩存後才能不被重定向