URL-адреса без расширений на IIS6 с ASP.NET MVC

Я помню, как пытался использовать формат URL без расширения в CMS, которую я написал еще тогда, когда впервые вышел.NET 2.0. Проблема заключалась в развертывании на сервере IIS6. Это сделало это практически невозможным. Мне пришлось программно создавать папки для пути (тонны папок) и вставлять в них фиктивный "Default.aspx", чтобы запрос перенаправлялся в ASP.NET. Конечно, я ненавидел это "решение" и должен был отказаться от использования URL-адресов без расширений.

Теперь, когда я начинаю работать с ASP.NET MVC, я снова хочу (нужно) использовать URL-адреса без расширений. Может кто-нибудь сказать мне, будут ли у меня такие же головные боли при попытке развернуть приложение на IIS6? Что-нибудь особенное требуется, чтобы заставить этот тип структуры URL работать в IIS6?

2 ответа

URL-адреса без расширений возможны в IIS 6, но для этого требуется настроить сопоставление ISAPI "подстановочный знак" в конфигурации приложения сайта. Недостатком является то, что все запросы обрабатываются фильтром ASP.NET ISAPI, включая статические файлы, такие как изображения, JavaScript и т. Д.

Вот отличная запись в блоге Фила Хаака о различных вариантах настройки ASP.NET MVC на IIS 6. Подстановочные инструкции находятся примерно на полпути.

Обратите внимание, что сопоставления ISAPI с подстановочными знаками больше не требуются в.NET 4.0: http://blogs.msdn.com/b/tmarq/archive/2010/04/01/asp-net-4-0-enables-routing-of-extensionless-urls-without-impacting-static-requests.aspx

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