Request.ServerVariables(「HTTP_REFERER」)在Internet Explorer中不起作用。Request.ServerVariables(「HTTP_REFERER」)在IE中不起作用
我們有一個要求,有兩個不同的網站,www.example1.com和www.example2.com。我必須將使用www.example1.com的所有用戶重定向到www.example2.com,並且當我們有意在www.example2.com的下拉列表中選擇www.example1.com時,它必須打開而不進行任何重定向。
爲此,我在www.example1.com中使用了Request.ServerVariables(「HTTP_REFERER」),以便根據我應用的重定向確定誰在請求www.example1.com。這在所有標準瀏覽器(如Mozilla和Google Chrome)中運行良好,但不適用於Internet Explorer。
我用下面的ASP代碼www.example1.com
<%if(Request.ServerVariables("HTTP_REFERER") <> "http://www.example2.org/") then
URL = "http://api.ipinfodb.com/v3/ip-country/?key=c184c2d089c7763a81d7701a662b57fe3bf90dbfd8bf60d29948878531e24472&ip=" & Request.ServerVariables("REMOTE_ADDR")
Set conn = Server.CreateObject("MSXML2.ServerXMLHTTP")
conn.open "GET", URL, False, "", ""
conn.send
UserCountry = conn.ResponseText
conArray = Split(UserCountry, ";")
if ((conArray(3) = "US")) Then
response.redirect("http://www.example2.org/")
end if
end if
%>
它能正常工作在所有瀏覽器除了IE以外。任何人都可以知道嗎?你能否給我建議所有瀏覽器(包括IE瀏覽器)的等效代碼,它會給出類似的結果。
非常感謝您的建議,請您詳細說明主機標題以及它對我有何幫助。 – 565 2012-01-27 10:56:50
@Praveen:這裏有一個標題列表 - http://en.wikipedia.org/wiki/HTTP_headers。簡而言之,「主機」標題應包含用於訪問該頁面的域名。 – LukeH 2012-01-27 11:04:26
:我使用過HTTP_HOST,但它獲取當前頁面主機名我需要一個需求,比如我需要請求頁面的確切域名。 HTTP_REFERER呈現確切的輸出,但不能在IE中工作。您可以指定任何適用於所有瀏覽器且具有預期實際輸出的方法。 – 565 2012-01-27 12:22:41