关于IIS中Request.ServerVariables("SCRIPT_NAME")的bug
2011-06-24 15:18
288 查看
写ASP程序的朋友都知道,Request.ServerVariables("SCRIPT_NAME") 返回当前页面的相对路径,比如说“http://localhost/bbs/post.asp”,那么返回的就是“bbs/post.asp”。但是我在调试ASP程序的时候偶尔发现一个bug,在 IIS5.1(XP自带)和 IIS6.0(2003自带)中,如果相对路径中包含不止一个“.asp”,返回值会从第一个“.asp”末端截断。比如说“http://localhost/iWebOffice.ocx.asp/DocumentList.asp”,预期返回的应该是“iWebOffice.ocx.asp/DocumentList.asp”,但实际返回的却是“iWebOffice.ocx.asp”。 ASP程序中有时需要引用Request.ServerVariables("SCRIPT_NAME") 来自动获取某个文件的完整URL路径,因为这个问题我不得修改我的虚拟目录名称,使其不包含“.asp”,但总觉得这不是好的解决之道。无意中我想起了另一个变量 Request.ServerVariables("PATH_INFO"),动手成“PATH_INFO”,果不其然,得到了预期的返回结果!
相关文章推荐
- 关于IIS中Request.ServerVariables("SCRIPT_NAME")的bug
- Request.ServerVariables("SCRIPT_NAME")的bug
- 关于 Request.ServerVariables("HTTP_REFERER") 运行时会出错的原因
- PHP $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]
- $_SERVER["REQUEST_URI"],["QUERY_STRING"],["PHP_SELF"] ,["SCRIPT_NAME"]用法
- $_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']和$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"]
- PHP $_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]、$_SERVER["SCRIPT_NAME"]和$_SERVER["PHP_SELF"]
- 关于$_SERVER中的PHP_SELF、REQUEST_URI以及SCRIPT_NAME的区别
- Request.ServerVariables("HTTP_REFERER")的工作方式
- 取得浏览器当前语言 Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
- PHP $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 之间的区别
- Request.ServerVariables["REMOTE_ADDR"]获取IP地址异常
- Request.ServerVariables("HTTP_REFERER")的工作方式
- PHP获取当前url路径的函数及服务器变量:$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME"],$_SERVER["PHP_SELF"]
- PHP $_SERVER[PHP_SELF],[SCRIPT_NAME], ['REQUEST_URI']
- Request.ServerVariables("HTTP_X_FORWARDED_FOR")
- 关于IIS "server application error"问题
- request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
- Request.ServerVariables("HTTP_USER_AGENT")
- JSP中的:request.getScheme()+"://"+request.getServerName()+":"+request.getServer