6

我正在维护一个经典的 asp 应用程序,在查看代码时,我遇到了两行类似的代码:

Request.ServerVariables("URL")
' Output: "/path/to/file.asp"

Request.ServerVariables("SCRIPT_NAME")
' Output: "/path/to/file.asp"

我不明白...有什么区别?他们都忽略了我设置的将 /path 文件夹作为根文档的 URL 重写(上面的 URL 被重写为“/to/file.asp”)

更多信息:该站点部署在 IIS 7 上

4

3 回答 3

8

URL 给出 URL 的基本部分,没有任何查询字符串或额外的路径信息。对于原始 URL,请使用 HTTP_URL 或 UNENCODED_URL。

SCRIPT_NAME 正在执行的脚本的虚拟路径。可用于自引用 URL。

请参阅http://www.requestservervariables.com/url 和 /script_name 的定义。

于 2010-09-23T10:41:35.917 回答
3

这可能是 IIS 7 下的错误。

我无法获取Request.ServerVariables("URL")Request.ServerVariables("SCRIPT_NAME")返回不同的值。我已经尝试过从包含文件 ( <!--#include file="file.asp"-->) 或在Server.Transfer.

于 2009-03-27T21:38:03.700 回答
1

如果是 Server.Transfer,这可能存在吗?

如果你做一个 server.transfer 我认为你会得到不同的结果

即 SCRIPT_NAME 将是例如 /path/to.transferredfile.asp 而 URL 将保持为 /path/to/file.asp

于 2009-03-27T12:59:42.777 回答