Изменение перенаправления виртуального каталога iis7 с iis6 - PullRequest
0 голосов
/ 06 августа 2009

У меня есть приложение ASP.NET 3.5, которое запустилось в 1.1 и было перенесено с IIS5 на IIS6, а теперь мы собираемся на IIS7. В течение 1,1 дней мы реализовали функциональность перезаписи URL-адресов на основе модулей HTTP, которая все еще прекрасно работает - довольно сложная логика, которая очень стабильна. Это позволяет нам принимать URL-адреса вот так

www.abc.com/merchant

и выясните, что «abc» представляет бренд продуктов, а «торговец» - одна из многих компаний, продающих этот бренд. Пока все хорошо.

Одновременно с закрытием некоторых продавцов, слиянием других и т. Д. Чтобы сохранить URL-адреса для них, мы иногда будем использовать возможность перенаправления виртуальных каталогов IIS6 для перенаправления www.abc.com/oldMerchant на www.abc. com / newMerchant или что-то еще, например www.micorsoft.com - кто знает. Сейчас их около десятка.

Я пытаюсь сделать то же самое в IIS7, и я нашел много постов, описывающих механизмы различных сетей (например, this ). Самая большая проблема, с которой я столкнулся, заключается в том, что в IIS7 виртуальные корневые пути по-прежнему проходят через мою логику перезаписи URL, а в IIS6 - нет. То есть вместо того, чтобы перенаправлять www.abc.com/oldMerchant на www.abc.com/newMerchant, переопределение URL-адреса сначала видит его и приходит к выводу, что oldMerchant не является действительным продавцом (как и должно быть).

Прежде чем я пойду по пути кодирования, чтобы решить эту проблему, кто-нибудь знает о магическом переключателе, который я пропустил?

Ответы [ 2 ]

0 голосов
/ 07 августа 2009

Вы используете IIS7 в интегрированном или классическом режиме? Я ожидаю, что вы работаете в интегрированном режиме. Это новый режим, который отправляет весь трафик через конвейер .Net. Если вы переключитесь в классический режим, я думаю, он снова начнет работать для вас.

0 голосов
/ 06 августа 2009

мои глаза закатились в голове.

То есть, вместо того, чтобы перенаправлять www.abc.com/oldMerchant на www.abc.com/newMerchant, переопределение URL-адреса сначала видит его и приходит к выводу, что oldMerchant не является действительным продавцом (как и должно быть).

Итак, в своей логике перезаписи вы не можете включить соответствующие правила перенаправления для сайтов, которые вы хотите перенаправить? (Я предполагаю, что перенаправление возможно в модуле перезаписи IIS7).

...