Httphandler для ASP Classic?
Есть ли способ в ASP Classic перехватить HTTP-запрос, прежде чем он попадет на эту страницу? Как и в ASP.Net мы можем отловить запрос в Application_BeginRequest.
На самом деле я пытаюсь перенаправить запросы на некоторые другие страницы, если они запрашивают файлы из определенного каталога. Мое приложение размещено на IIS6. И я полагаю, что IIS6 по умолчанию не поддерживает перезапись URL. Просмотр каталогов уже отключен.
Было бы хорошо, если бы это можно было сделать, просто поместив файл web.config в этот определенный каталог для перенаправления на другие страницы.
e.g.
Original Requests:
Https://stackru.com/NoReadWriteFolder/file1.asp
Https://stackru.com/NoReadWriteFolder/file2.html etc
and I'd like to redirect to
Https://stackru.com/ReadOnlyFolder/someOtherFile1.asp
Https://stackru.com/ReadOnlyFolder/someOtherFile2.html
Я гуглил, но пока не повезло, любая подсказка будет высоко оценена.
2 ответа
Предыстория: мое приложение работает для разных компаний (фактически стран), которые используют одно и то же приложение.
Я использую включаемый файл default.asp, который работает как стандартное включение для всех сценариев, которые я обслуживаю. Я отслеживаю запросы домена в URL, определяю, для какой компании это, а затем перенаправляю на созданный мной URL, который включает код компании и "префикс URL", который добавляется к URL на протяжении сеанса.
Для этого я читаю URL с помощью request.servervariables, устанавливаю переменные Session, определяю свой префикс URL и на основании этого создаю пересмотренный URL, который я затем response.redirect.
Я надеюсь, что это может дать вам представление о вашей ситуации.
Для IIS6 я использовал Iapi Isapi Rewrite Filter
Он поддерживает перезапись и перенаправление URL и должен делать именно то, что вам нужно.
На примерах и страницах справки есть примеры для перенаправления.