У нас есть приложение ASP.NET 3.5, работающее в IIS6, мы переходим на IIS7 и интегрированный конвейер. Наше приложение выполняет очень простую перезапись URL-адреса для проверки URL-адреса, например:
website.com/dealer/page.aspx
раздевает «дилера», ищет его в БД для контекста и переходит на page.aspx.
В IIS6 это была подстановочная карта. Я переместил модуль в нужное место в web.config для IIS7:
<system.webServer>
<modules>
<add name="ModuleRewriter"
type="Insignia.Catalog2.ModuleRewriter, Insignia.Catalog2"
preCondition="" />
И это работает - почти. Пути, подобные этим, работают:
website.com/dealer/page.aspx
website.com/dealer/
Последний по умолчанию соответствует странице index.aspx. Моя проблема в том, что это не так:
website.com/dealer
обратите внимание на отсутствующую косую черту в конце. Я получаю 404. Чего мне не хватает?
UPDATE:
Это как-то связано с обработчиком статических файлов - если я отключу это, URL будет отображаться правильно, но тогда статические вещи не будут работать ...