2010-01-25 60 views
0

我們有一個站點位於服務器A上,例如www.blah.com這個URL,但是當它處於活動狀態時,它將被訪問,例如www .notblah.com將代理請求到服務器A.通過代理傳遞請求時,通過PHP獲取主機和URI

我的問題是,在PHP中,當請求通過代理傳遞時,如何正確計算出主機和URI? $ _SERVER ['host']和$ _SERVER ['uri']給我的www.blah.com不是通過代理服務器訪問的URL。

+0

什麼是代理設置?只是一個mod_rewrite? – 2010-01-25 15:50:34

回答

1

嘗試$_SERVER['HTTP_REFERER']或與phpinfo()聯繫,如果您的代理將原始URL添加到HTTP標頭中。有些人會。

+1

我已經做了一些嘗試,並能夠使用$ _SERVER ['HTTP_X_FORWARDED_HOST']獲取轉發的主機,但是沒有關於轉發的URI的信息 - 任何想法? – 2010-01-27 18:35:31

+0

沒有。抱歉。你最好的選擇是使用phpinfo並查看你是否可以在某處找到URL。或者,如果您有權訪問代理,請將其配置爲包含該URL。 – Gordon 2010-01-27 18:59:35