Приложение MVC, развернутое в IIS5 с использованием сопоставления по шаблону, вызывает ошибки 401 и 404 в CSS и JS - PullRequest
1 голос
/ 18 октября 2010

Я разрабатывал приложение MVC 2 под встроенным веб-сервером в VS2010.В пятницу я переместил его в виртуальный каталог под IIS 5 на моей машине для разработки WinXP.У меня были обычные проблемы, и я добавил сопоставление с подстановочными знаками в конфигурацию Virtual Directory в IIS для сопоставления. * С aspnet_isapi.dll (Framework 4).Ни флажок файла проверки не существует, ни флажок Script Engine не отмечен.

Маршрутизация работает и возвращает правильную страницу.Но ни один из файлов css или js не обслуживается.Fiddler показывает, что они получают либо 401 (не авторизовано), либо 404 (не найдено) ошибок (без явной рифмы или причины, по которой один - иногда и то и другое).Я вернулся и добавил операторы IgnoreRoute в таблицы сопоставления для файлов .css и .js, но это не имело никакого значения.Я также добавил LOCALMACHINE \ ASPNET в параметры безопасности каталога, предоставив ему (на данный момент) права полного доступа (я знаю, что это дыра в безопасности, но я исправлю ее после запуска.)* Я не видел этой проблемы, упомянутой в каких-либо сообщениях в блоге о запуске MVC на серверах до IIS 7.Кто-нибудь еще видел это, и как вы решили это?

Ответы [ 2 ]

0 голосов
/ 18 октября 2010

Это потому, что когда ваши серверы приложений имеют URL-адрес, например: www.domain.com/Controller/Param1/Param2/Param3, он будет пытаться получить изображения из www.domain.com/Controller/Param1/Param2/Param3/images.Попробуй установить firebug и посмотри раздел net.Хорошим решением проблемы является использование вспомогательного метода для добавления ссылки на css, которая добавляет полный путь к ссылке на css, например: www.mydomain.com/css/my_css.css

0 голосов
/ 18 октября 2010

Самый простой и простой способ, который я нашел, чтобы заставить работать файлы scripts / graphics / css, это специально удалить сопоставление с aspnet_isapi для ваших каталогов content (graphics, scripts, css)Точно так же, как вы добавили их для каталога проекта.

Щелкните правой кнопкой мыши папку ваших сценариев, выберите свойства и нажмите Создать.Кнопка конфигурации теперь будет доступна;щелкните по нему и нажмите Удалить , чтобы удалить пользовательское сопоставление, которое папка унаследовала от своего родителя;нажмите хорошоТеперь вернитесь в диалог свойств для папки, нажмите Удалить , чтобы он больше не был виртуальным каталогом, и нажмите OK.Повторите для других таких папок.

...