6

私は古典的なASPアプリケーションを維持しており、コードを調べているときに、2つの同様のコード行に出くわしました:

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 に答える