2009-10-14 3 views
4

Что я пытаюсь достичь:Может ли asp.net HttpModule пересылать запросы asp.dll?

запросов Intercept для .asp файлов с помощью приложения ASP.NET
затем переписывают URL, к чему-то дружественной поисковой системе
затем передать запрос на asp.dll для обработки запроса.

Как Im пытается его получения идеальной:

Я пытаюсь получить URL-адрес интеллигенции переписывания работает для классического применения жереха на

  1. изменения отображения IIS для веб-сайта, так что .asp расширения обрабатываются приложением asp.net.
  2. Последовательный переписывающий url-файл aspire.net переписывает URL-адрес.
  3. Запрошенная страница .asp затем отправляется в asp.dll для обработки. Может ли это быть сделано? Есть идеи?

Мои ограничения:

  • Shared хостинг аккаунт, так что я не могу установить фильтры ISAPI на сервере.

Звучит ли это как-то, что можно было бы сделать, написав HTTPModule?

Я рассмотрел 301 переадресацию вместо этого, но меня беспокоят проблемы ранжирования google.

+0

Я думаю, вы имеете в виду «301 перенаправление». – womp

+0

Здесь важна версия IIS. – AnthonyWJones

+0

@AnthonyWJones Windows 2003 Server iis версии 6. – Rich

ответ

2

.NET HttpModule не может перенаправлять запросы на Классический ASP во II6 из-за того, как работает трубопровод. К моменту выполнения вашего .NET-модуля вы находитесь в обработчике ASP.NET и не можете передать обработчик ASP.

IIS7 имеет интегрированный трубопровод, который позволит вам иметь .NET HttpModule, повторно написать запрос классическому ASP-обработчику.

У вас может быть пользовательский обработчик 404, который очищает статус 404 от ответа и выполняет Server.Transfer или Server.Execute вашей страницы. Единственное, что вы не можете передать параметры querystring, поэтому вам нужно будет проанализировать запрос и вытащить переменные вручную.

Я использую модифицированную версию Smart404 для обработки дружественных URL-адресов SEO, перемещенных файлов и т. Д. Они называют функцию «virtual_aliases».

+0

Спасибо, Майк. Я пришел к выводу, что это не сработает с настройкой. Приятно знать, что я могу воспользоваться этой возможностью в IIS 7, если мне это нужно. – Rich

Смежные вопросы