Сайт MVC развернут на домашней странице IIS 7 Все остальные страницы 404 - PullRequest
0 голосов
/ 09 июня 2011

Я пытаюсь развернуть сайт MVC 3 в IIS 7.5. Дефолтный маршрут работает, но все ссылки возвращают ошибку 404, в том числе если я вручную введу ссылку для домашней страницы.

подробности:

  • MVC 3 до IIS 7.5
  • Windows Server 2008 R2
  • MVC 3 установлен на сервере
  • Веб-сайт по умолчанию / PaedPhysiotherapy_Uat
  • .net 4 установлен
  • Используется DeafultApplicationPool
  • Пул приложений .net4 и работает в интегрированном режиме
  • Пользовательские ошибки отключены

Если я разверну на новом веб-сайте в том же окне IIS, используя другие порты, например "http://newsite:81 который не под сайтом по умолчанию все работает нормально.

Ответы [ 2 ]

1 голос
/ 09 июня 2011

Даже при отсутствии маршрутизации IIS будет перенаправлять запросы на "/" в "/Default.aspx". В приложении MVC есть Default.aspx, который вручную находит обработчик MVC и вызывает его. Вероятно, поэтому ваша домашняя ссылка работает.

Ваши другие страницы должны проходить через маршрутизацию. В интегрированном режиме для этого должен быть обработчик IIS. Проверьте ExtensionlessUrlHandler в сопоставлениях обработчиков IIS. Сравните этот и другие обработчики с сайтами, которые работают.

0 голосов
/ 10 июня 2011

По-видимому, если это работает при развертывании в корне сайта, то похоже, что в него проник абсолютный путь. Возможно, где-то это пропущенный ~ перед путем, например,

/MyController

вместо

~/MyController

Кроме того, вы не забыли преобразовать /PaedPhysiotherapy_Uat в приложение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...