ASP.NET MVC Images / CSS не отображается для веб-приложения с веб-сайтом - PullRequest
3 голосов
/ 01 июля 2010

У меня есть несколько веб-приложений на моем веб-сайте в IIS 7.5, в которых будет жить мое веб-приложение MVC2.

WebSite
    * Prod
    * Test1
    * Test2

У меня настроена маршрутизация брандмауэра для перенаправления с http://test1.mywebsite.com/xxx на http://my.actual.website/Test1

Я использовал Url.Content("~/Content/Site.css"), но CSS не загружается. Глядя на источник для веб-страницы, URL отображается как <link href="/Test1/Content/Site.css" ...>

Что я могу сделать, чтобы это исправить? Возможно, с помощью модуля переписывания URL-адресов IIS или добавлением дополнительных правил в мой брандмауэр.

Ответы [ 3 ]

2 голосов
/ 01 июля 2010

Я бы начал с включения отслеживания сбоев при запросе (http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis-7/) на сервере, чтобы узнать, получает ли он запрос и почему.Полагаю, что он становится некорректным, поэтому вы можете использовать URL Rewrite для исправления путей или, возможно, исправить ссылки, используя функцию перезаписи вывода, используя URL Rewrite 2.0.

1 голос
/ 12 июля 2010

Поскольку у вас есть приложения (для каждой среды) на вашем веб-сайте IIS (а не одно приложение в маршруте), ASP.NET MVC учитывает это при создании URL-адресов в Url.Content .

Если вы хотите сохранить приложения на своем веб-сайте, вы можете переписать URL-адреса на уровне брандмауэра (если ваш брандмауэр поддерживает это), на уровне IIS (перезапись URL-адресов) или путем реализации альтернативы Url.Content.Благодаря доступному источнику вы можете увидеть, как это делает инфраструктура MVC, и большая часть работы выполняется в классе PathHelpers .

Конечно, если у вас есть дополнительная работа дляразработать / протестировать / поддерживать ваши правила перезаписи или альтернативный код генерации URL.Я считаю, что нужно разделить ваши приложения, чтобы у вас было отдельное приложение / среда для каждого веб-сайта IIS, чтобы у вас не было такого дополнительного бремени.

0 голосов
/ 01 июля 2010

Похоже, что брандмауэр также необходимо настроить для перенаправления запросов CSS и изображений.

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