为什么 Request.ServerVariables[“HTTP_HOST”] 与 Request.Url.Host
本文关键字:Request Url Host HOST ServerVariables HTTP 为什么 | 更新日期: 2023-09-27 18:35:56
相同的服务器,相同的站点 - 两个不同的结果。
案例1
请求 URL: domain.com (解析为 domain.com/default.aspx)
Firebug 中的请求标头:domain.com
Request.ServerVariables["HTTP_HOST"]
= domain.com
Request.Url.Host
= domain.com(好的,这很好,在意料之中)
案例2
请求网址: domain.com/default.aspx
Firebug 中的请求标头:domain.com
Request.ServerVariables["HTTP_HOST"]
= domain.com
Request.Url.Host
= app5(服务器的名称)
查看两个请求,我看不到任何会导致这种情况的原因。为什么会这样?
服务器运行的是 Windows 2003 和 IIS6。
您应该检查 IIS 元数据库是否设置为使用主机名或其他名称
命令 -> cscript adsutil.vbs get W3SVC/SITE-ID/USEHOSTNAME
结果 ->应该是
The parameter "USEHOSTNAME" is not set at this node.
或 USEHOSTNAME : (BOOLEAN) False
命令 -> cscript adsutil.vbs get W3SVC/SITE-ID/SETHOSTNAME
结果 ->应该是
The parameter "SETHOSTNAME" is not set at this node.
或SETHOSTNAME : (STRING) ""
将站点 ID 更改为站点的数字 ID。
如果您看到任何其他结果,则表示有人修改了网站的上述两个属性。