Как определить, настроен ли сайт как виртуальный каталог или нет? - PullRequest
0 голосов
/ 17 октября 2011

У меня есть этот классический код asp:

'code start
https = lcase(request.ServerVariables("HTTPS")) 
if https <> "off" then prot = "https" else prot ="http"

'use the following for website (non-virtual)
TheURL1 = prot&"://"&Request.ServerVariables("SERVER_NAME")&"/"

'use the following for virtual directory website
TheURL2 = prot&"://"&Request.ServerVariables("SERVER_NAME")&"/Tawanda/NewTawanda/"
'code end

Я использую его для определения корневого URL (например, http://myserver/), но я замечаю, что когда веб-сайт настроен как виртуальный каталог, у меня естьиспользовать TheURL2 и TheURL1, если это не виртуальный каталог.

Мой вопрос: как я могу определить (в классическом asp), настроен ли веб-сайт как виртуальный каталог или нет, чтобы я мог разместить этот код вif... then... заявление?

1 Ответ

0 голосов
/ 17 октября 2011

Вы можете запросить значение ServerVariables, равное APPL_MD_PATH .

Когда вы запускаете приложение не в виртуальном каталоге (обычном веб-сайте), тогда значение должно заканчиваться на ROOT , если нет, то вы находитесь в виртуальномкаталог.

Попробуйте это:

' Check value of APPL_MD_PATH
If Request.ServerVariables("APPL_MD_PATH").EndsWith("/ROOT") Then
     'use the following for website (non-virtual)
     TheURL1 = prot&"://"&Request.ServerVariables("SERVER_NAME")&"/"
Else
     'use the following for virtual directory website
     TheURL2 = prot&"://"&Request.ServerVariables("SERVER_NAME")&"/Tawanda/NewTawanda/"
End If
'code end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...