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

https://iirf.codeplex.com/

Он поддерживает перезапись и перенаправление URL и должен делать именно то, что вам нужно.

На примерах и страницах справки есть примеры для перенаправления.

Другие вопросы по тегам