【问题标题】:Can't read query string if default index file name is omitted?如果省略默认索引文件名,则无法读取查询字符串?
【发布时间】:2010-04-13 16:36:45
【问题描述】:

如果 URL 中没有给出默认文件名,Request.ServerVariables("QUERY_STRING") 是否存在 IIS 或 ASP Classic 问题?在我的本地开发者机器上,我可以做

http://localhost/xslt/?opcs/abc

返回“opcs/abc”。然而,在我们古老的网络服务器上,它什么也没有返回。我必须在 URL 中明确地给它默认文件名。像这样

http://localhost/xslt/default.asp?opcs/abc

虽然没什么大不了的,但有点烦人。我可能会想到解决问题的一种方法是让 Javascript 读取 URL 并在 ? 之后返回所有内容。

很遗憾,我不知道我们使用的是什么版本的 IIS 或 ASP。

谢谢。

【问题讨论】:

    标签: iis asp-classic


    【解决方案1】:

    这听起来像是一个错误,我以前做很多 ASP 时从未遇到过。确保您已修补到最新版本。

    【讨论】:

    • 我知道服务器没有打补丁。它运行的是 Windows NT,我被告知他们不会更新它。除非我指定默认文件名,否则 Request.QueryString 也不返回任何内容。 :(
    • 那么请编写您自己的函数。
    • 我不关注。写我自己的函数是为了什么? AFAIK,没有其他服务器端方法可以获取请求的完整 URL。
    • 你说得对,我认为 SCRIPT_NAME 包含查询字符串,你可以解析它,但它没有。出于安全原因,我真的认为服务器需要打补丁或停用。
    • 我已经接受了您的回答。感谢您的时间和帮助。 :)
    【解决方案2】:

    如果您运行的是 IIS 4.0,那么很可能就是这种情况。所以你真的被这个古老的软件(可能还有硬件)困住了吗? :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 2020-01-02
      • 1970-01-01
      • 2018-09-13
      相关资源
      最近更新 更多