Мне действительно пришлось бороться с этой же проблемой при разработке моего URL Rewriter . Это связано с процессами, которые происходят, прежде чем вы даже можете получить доступ к URL-адресам. Чтобы обойти это, вы должны убедиться, что в IIS 7 обработка страниц по умолчанию отключена. Потому что, если нет обработки страницы по умолчанию, она не будет проходить дополнительный шаг, пытаясь сопоставить ее с диском, поэтому вы получите точный запрошенный URL-адрес. Но это может или не может быть вариантом в зависимости от того, используете ли вы System.Web.Routing
или нет.
Чтобы отключить обработку страниц по умолчанию, вам нужно сделать следующее:
- Перейти на ваш сайт в IIS
- Перейти к Документ по умолчанию
- Нажмите Отключить в правом верхнем углу.
Или вы можете добавить следующее к вашему web.config
:
<system.webServer>
<!-- ... other tags here ... -->
<defaultDocument enabled="false" />
</system.webServer>
После этого документ по умолчанию больше не будет добавляться к вашему URL. Однако предупреждаем , что, поскольку это больше не активно, вы не можете полагаться на default.aspx, фактически отображающий ваши каталоги, вам придется обрабатывать это вручную или использовать что-то вроде System.Web.Routing для обработки этой функциональности. * * 1026
Чтобы сделать то же самое в IIS 6, вам нужно включить символы подстановки:
Следующие инструкции применимы к IIS 6.
- Откройте IIS, щелкните правой кнопкой мыши веб-сайт и выберите «Свойства».
- Нажмите кнопку «Конфигурация» в разделе «Настройки приложения»
- Нажмите кнопку «Вставить ...», чтобы создать новое сопоставление с подстановочными знаками
- Установите для исполняемого текстового поля местоположение файла aspnet_isapi.dll.
для .net 2.0, 3.0, 3.5: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll
- Убедитесь, что флажок «Убедитесь, что файл существует» не установлен.
- Нажмите «ОК» для подтверждения и закрытия всех окон.
ПРИМЕЧАНИЕ: кстати, все источники доступны на сайте, на который я ссылался выше, если вам интересно, как я это делаю.