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