我們的本地開發設置需要在DMZ中有一個框,並且每個開發人員在它的apache配置中都有一行代理。看起來是這樣的:apache反向代理:如何轉發代理服務器的HTTP_HOST
ProxyPreserveHost on
ProxyPass /user1/ {user1's IP}
ProxyPassReverse /user1/ {user1's IP}
ProxyPass /user2/ {user2's IP}
ProxyPassReverse /user2/ {user2's IP}
#etc
我們的公共網址成爲了{DMZ server}/user1
,{DMZ server}/user2
等問題是,在開發的盒,$_SERVER['HTTP_HOST']
值只是{DMZ server}
,沒有用戶的子目錄。期望的行爲是將/user%/
作爲真正的主機名稱。
我試着重寫主機var和一些重寫規則,但沒有任何工作。
創建子域不是一個選項。
謝謝你的幫助!
$ _SERVER ['HTTP_HOST']無論如何都只顯示主機名或IP地址。您需要使用$ _SERVER ['REQUEST_URI']或類似的東西來獲取完整路徑。 – 2012-04-18 02:10:00
相信我,我查看了所有$ _SERVER的正確值。 Besies,我寧願不跑過我運行的所有項目,並更改代碼。我們使用的PHP框架也依賴於HTTP_HOST。 – Ethan 2012-04-18 11:55:58
所以如果我正確地理解了這個問題,希望將{DMZ_SERVER}/user%傳遞給後端應用程序? – groodt 2012-04-24 19:34:11