request.serverVariables()“URL” 与“Script_Name”

发布于 2024-07-15 08:10:11 字数 381 浏览 12 评论 0原文

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

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

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

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

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

I am maintaining a classic asp application and while going over the code I came across two similar lines of code:

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

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

I don't get it... what is the difference? both of them ignore the URL rewriting that I have set up which puts the /path folder as the root document (the above URL is rewritten to "/to/file.asp")

More info:
The site is deployed on IIS 7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

乄_柒ぐ汐 2024-07-22 08:10:11

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

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

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

URL Gives the base portion of the URL, without any querystring or extra path information. For the raw URL, use HTTP_URL or UNENCODED_URL.

SCRIPT_NAME A virtual path to the script being executed. Can be used for self-referencing URLs.

See, http://www.requestservervariables.com/url
and /script_name for the definitions.

怎会甘心 2024-07-22 08:10:11

这可能是 IIS 7 下的一个错误。

我无法让 Request.ServerVariables("URL")Request.ServerVariables("SCRIPT_NAME") 返回不同的值。 我尝试过从包含的文件 () 或在 Server.Transfer 之后调用它们的情况

This could be a bug under IIS 7.

I could not get Request.ServerVariables("URL") and Request.ServerVariables("SCRIPT_NAME") to return different values. I've tried the cases where they were called from an included file (<!--#include file="file.asp"-->) or after a Server.Transfer.

活泼老夫 2024-07-22 08:10:11

Server.Transfer 的情况下可能存在这种情况吗?

在您执行 server.transfer 的情况下,我认为您会得到不同的结果

,即 SCRIPT_NAME 将是 /path/to.transferredfile.asp,而 URL 将保留为 /path/to/file.asp

Is this maybe there in case of Server.Transfer?

In the case where you do a server.transfer i think you would get different results

i.e. SCRIPT_NAME would be e.g. /path/to.transferredfile.asp whereas URL would remain as /path/to/file.asp

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文