Ошибка 404 на сайте MVC

У меня есть веб-сайт IIS7.5 в Windows Server 2008 с развернутым веб-сайтом ASP.NET MVC2. Веб-сайт был построен в Visual Studio 2008 и предназначен для.NET 3.5, а IIS 5.1 был успешно настроен для его запуска и для локального тестирования.

Мы установили самое простое в мире приложение MVC (то, которое создается при создании нового проекта MVC2 в Visual Studio), и мы получаем 404 с на любой странице, к которой мы обращаемся - например, <my_server>/Home/About сгенерирует 404.

Я также задавал этот вопрос в StackOverflow, но это было до того, как я понял, что это проблема с сервером.

Я проверил следующие вещи:

  • В журнале IIS имеется 404 записи, соответствующих каждому запросу.
  • Пул приложений для веб-сайта настроен на использование Интегрированного конвейера.
  • Режим customErrors выключен.
  • .NET 3.5 SP1 установлен
  • ASP.NET MVC 2 установлен
  • Я использовал MVC Diagnostics для подтверждения того, что все MVC DLL найдены.
  • ASP.NET включен в IIS, что мы продемонстрировали, запустив страницу диагностики MVC.
  • В KB 2023146 действительно было указано, что перенаправление HTTP отключено, поэтому мы его включили, но не радостно.

Любые идеи будут с благодарностью!

Кто-то предположил, что могут быть проблемы с его запуском из-за 64-битной Windows Server 2008 - кто-нибудь знает что-нибудь об этом?

2 ответа

Решение

Наконец, мы решили эту проблему, экспортировав конфигурацию IIS работающего сервера и сравнив ее с нашей.

Это была действительно неясная настройка, которая была изменена по умолчанию.

IIS ROOT → Фильтрация запросов → Вкладка "Расширения имени файла" → "Редактировать настройки компонента" → Разрешить добавление имен файлов в список

Это должно быть отмечено.

Это может быть установлено на уровне IIS или на уровне сайта.

Первое, что нужно подтвердить, - это исправление URL-адреса без расширения: http://support.microsoft.com/kb/980368.

Это должно сработать, но если нет, правильно ли работает простая страница test.aspx?

Независимо от того, 32-разрядный или 64-разрядный, не имеет значения для ASP.NET MVC. Это полностью поддерживается в обоих.

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