войти · зарегистрироваться
А вы знаете, что:
В секунду, как минимум, один ёлпер помогает двум человекам.

Реклама ↓

Как отключить проверку наличия файлов в IIS 7?

При развертывании сайта, который использует виртуальные адреса страниц, и в частности виртуальные каталоги, может возникнуть проблема с нахождением сервером таких страниц и IIS будет выдавать 404 ошибку (страница не найдена). Например, подобное часто можно встретить в проектах ASP .NET MVC или при использовании UrlRewriting. В этом ёлпере показано, как это можно исправить в IIS 7 под Windows 2008 Server.

Обратите внимание (!)

Информация указанная в этой записи помечена как «устаревшая». Будьте осторожны при использовании этой информации.
Запись не учавствует в голосовании, однако если вы хотите, чтобы автор сделал обновление ёлпера, вы можете сообщить об этом в комментариях ниже.
Как решить аналогичную проблему в IIS 6 можно посмотреть на следующей странице: http://yolper.ru/30.

Решение можно использовать, но не рекомендуется. Для ASP .NET 4.0 данное решение не актуально.

Запустите «Диспетчер служб IIS» и перейдите к сайту, которому нужно настроить обработчик адресов без проверки наличия файлов.

В параметрах сайта, в разделе «IIS» выберите и откройте «Сопоставления обработчиков».

6351392488600176247578.png
Затем, в меню справа, нажмите «Добавить сопоставление сценария...».

6351392488609536267578.png
В появившемся окне, в поле «Путь запроса» укажите расширение файлов, которые используются в виртуальных адресах. Например: *.aspx. Если для всех файлов, то: *.**. Или просто: **, чтобы еще и каталоги обрабатывались. Однако, если указать обработку всех файлов (*.*) и/или всех файлов и папок (*) могут возникнуть конфликты с обработкой статичных файлов (изображений, стилей, JavaScript).

В поле «Исполняемый файл» укажите путь к файлу, который должен обрабатывать страницы ASP .NET. Например: %windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll

В поле «Имя» укажите любое название, по которому вы в случае чего сможете найти созданный обработчик.

6351392488618896287578.png
Нажмите «Ok», чтобы создать правило. На запрос активации правила ответьте положительно.

Но и это еще не все. Необходимо, чтобы проект обрабатывался классическим пулом: «Classic .NET AppPool». Переключить пул можно в «Основных настройках сайта».

6351392488625136297578.png
6351392488632936307578.png
Все, теперь виртуальные адреса должны обрабатываться нормально.

Если проблемы останутся, то можно поковырять web.config, при этом сайт должен работать на обычном пуле (а не классическом), так возможностей по конфигурации будет больше.
0

Twitter Mail.Ru Facebook Вконтакте Я.ру ЖЖ
Постоянный адрес этого ёлпера:
Разместить в блоге:
Разместить на форуме:
помогло 1 · не помогло 0 · просмотров 1436
01 декабря 2012 → 14:18 · @Алексей Немиро