Корневой каталог в CSS в ASP.NET MVC

У меня есть ASP.NET MVC 4.5, в котором используются некоторые файлы css. CSS ссылается на некоторые изображения.

Файл css находится по этому пути:

WebSiteRoot\Content\css\services\File.CSS

Изображение находится по этому пути:

\WebSiteRoot\Content\img\servicesbubble\image.png

CSS имеет этот вызов:

background:transparent url('../../img/servicesbubble/image.png') no-repeat 0px 0px;

Когда я запускаю приложение на локальном хосте, оно работает. Но когда загружаю на хостинг (Appharbor) не работает. Почему? Как лучше всего обратиться к корню приложения?

На сервере попытка http получить этот неправильный URL-адрес

WebSite.com/img/servicesbubble/desktop.png

Обновление: я использую функцию .NET Framework 4.5, называемую объединением, для объединения этих CSS с другим CSS.


person Ricardo Polo Jaramillo    schedule 24.08.2012    source источник
comment
Не могли бы вы поделиться URL-адресом вашего сайта, размещенного в AppHarbor, чтобы мы могли его посмотреть?   -  person Michal Klouda    schedule 24.08.2012
comment
ссылки на файлы из файла css не должны быть проблемой, если пути не меняются между средами.   -  person JayC    schedule 24.08.2012
comment
Конечно, @Michal это URL-адрес tulpepwebsite.apphb.com/Services. Проверьте неправильные вызовы tulpepwebsite.apphb.com/img/servicesbubble/desktop.png и tulpepwebsite.apphb.com/img/servicesbubble/uc.png   -  person Ricardo Polo Jaramillo    schedule 24.08.2012
comment
Попробуйте url('/content/img/servicesbubble/image.png') в css. Открытие / обозначает корневую папку.   -  person Luke Hutton    schedule 24.08.2012


Ответы (3)


Ваша проблема на самом деле связана с тем, что вы минимизируете css в другой каталог, чем изначально существовал CSS.

Более конкретно: http://tulpepwebsite.apphb.com/Content/css/servicescss?v=sdm08D5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1.

Итак, ../../ помещает вас на http://tulpepwebsite.apphb.com/Content

URL-адреса в файлах CSS всегда относятся к расположению самого файла CSS.

person Ben Lesh    schedule 24.08.2012
comment
Я так не думаю. Минификация и связывание в MVC 4.5 позволяют это сделать. - person Ricardo Polo Jaramillo; 24.08.2012
comment
Переписывает ли связывание пути в минимизированном CSS? (уточнение) - person JayC; 24.08.2012


Ваше местоположение CSS отличается от того, что вы думаете:

WebSiteRoot\Content\css\File.CSS

вместо

WebSiteRoot\Content\css\services\File.CSS
person Michal Klouda    schedule 24.08.2012