request.serverVariables () "URL" против "Script_Name" - PullRequest
4 голосов
/ 27 марта 2009

Я поддерживаю классическое приложение 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

Ответы [ 3 ]

7 голосов
/ 23 сентября 2010

URL-адрес Предоставляет базовую часть URL-адреса без строки запроса или дополнительной информации о пути. Для необработанного URL-адреса используйте HTTP_URL или UNENCODED_URL.

SCRIPT_NAME Виртуальный путь к исполняемому скрипту. Может использоваться для самообращающихся ссылок.

См. http://www.requestservervariables.com/url и / script_name для определений.

3 голосов
/ 28 марта 2009

Это может быть ошибка в IIS 7.

Я не могу получить Request.ServerVariables("URL") и Request.ServerVariables("SCRIPT_NAME") для возврата различных значений. Я пробовал случаи, когда они вызывались из включенного файла (<!--#include file="file.asp"-->) или после Server.Transfer.

1 голос
/ 27 марта 2009

Это может быть в случае Server.Transfer?

В случае, если вы делаете server.transfer, я думаю вы получите другие результаты

т.е. SCRIPT_NAME будет, например, /path/to.transferredfile.asp, тогда как URL останется как /path/to/file.asp

...