В вашей среде localhost вы, вероятно, запускаете веб-сайт на своем сервере разработки ASP.NET. Этот сервер настроен на захват всех запросов (*. *) И запуск их через конвейер ASP.NET.
II6, с другой стороны, настроен на отправку только некоторых запросов (например, * .aspx, * .asmx, * .ashx) через конвейер ASP.NET. Поэтому, если вы пытаетесь перехватить запрос на URL-адрес, такой как «/ my / fine / url», который никогда не будет передан обработчику ASP.NET и, следовательно, не будет переписан.
Вы можете изменить эту конфигурацию в конфигурации приложения для веб-сайта:
- Откройте диспетчер IIS и щелкните правой кнопкой мыши веб-сайт, выберите «Свойства»
- На вкладке «Домашний каталог» нажмите кнопку «Конфигурация ...».
- Нажмите кнопку «Вставить ...», чтобы вставить карту приложения Wildcard.
- В «Исполняемый файл:» вставьте путь к aspnet_isapi.dll, в моем случае C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll (примечание: этот путь может отличаться на вашем сервере).
- Не забудьте снять флажок «Убедитесь, что файл существует»
- Нажмите ОК!
И так! Все ваши запросы теперь должны быть направлены в обработчик ASP.NET и, следовательно, перехвачены в вашем устройстве переписывания URL, независимо от расширения.
Но я должен признать, что немного не уверен, как это повлияет на производительность вашего сайта, перенаправляя все запросы на статические файлы, CSS, изображения и т. Д. Через обработчик ASP.NET. Может, кому-то еще есть что сказать по этому поводу.
/ Денис: -)