Ресурс интерпретируется как таблица стилей, но передается с MIME-типом text / html в ASP.NET IIS - PullRequest
20 голосов
/ 22 мая 2011

У меня появляется страница для входа, когда она выполнена. Страница удалена из css.

Я обнаружил это сообщение от отладчика Chrome. Я использую asp.net 2008.

Есть идеи?

<head id="Head1" runat="server"> 
<title>CalibPro</title> 
<link href="css/Login.css" rel="stylesheet" type="text/css" /> 
<link href="css/Common.css" rel="stylesheet" type="text/css" /> 
</head>

отредактировано согласно @robx advice.

Ответы [ 6 ]

37 голосов
/ 23 мая 2011

Мне кажется, что проблема в вашей конфигурации IIS.он может быть настроен на доставку файлов .css с MIME-типом text / html.

Попробуйте перейти к настройке типов MIME на веб-сервере и посмотрите, сможете ли вы найти там что-нибудь.

ПравильноMIME-типом для файлов .css является text / css.

Вы также можете просмотреть параметры заголовка HTTP с помощью некоторого сниффера HTTP, такого как fiddler.

Обновление: принятым ответом должен бытьодин указал @ Бретт-Пеннингс!Просто предоставив статическое содержимое, ошибка исчезла автоматически.

18 голосов
/ 02 декабря 2014

Убедитесь, что вы включили «Статическое содержимое» в IIS Windows Features.

IIS Settings

2 голосов
/ 19 июля 2012

Это проблема, когда вы используете URL перезаписи в IIS (в моем случае это так), вам нужно добавить эту запись в ваш файл web.config вашей сети перед записью перезаписи, что-то вроде этого:

<rule name="CSS" stopProcessing="true">
    <match url=".css" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" />
    </conditions>
    <action type="None" />
</rule>
<rule name="mod_write" stopProcessing="true">
    <match url="^(.*)$" ignoreCase="true" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="%(REQUES_FILENAME)" matchType="IsDirectory" negate="true" />
        <add input="%(REQUES_FILENAME)" matchType="IsFile" negate="true" />
    </conditions>
    <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="false" />
</rule>
1 голос
/ 14 марта 2014

О дорогой лорд!Это была одна из тех ошибок, которые, кажется, возникли из ниоткуда ... Я почти 1 час чесал голову, пытаясь определить, из-за чего только один конкретный файл .css показывал сообщение, очень похожее в окне консоли Chrome:

Resource interpreted as Stylesheet but transferred with MIME type text/plain

Вы видите, что это text/plain вместо text/html.

Этот файл был следующим:

https://raw.github.com/LPology/Bootstrap-IE7Fix/master/css/bootstrap-ie7fix.css

Что яСделано в Visual Studio 2013 Ultimate было:

  • Щелкните правой кнопкой мыши папку Content проекта и выберите Добавить Style Sheet.
  • Переименовал файл в bootstrap-ie7fix.css
  • Скопировано полное содержимое вышеуказанного .css файла
  • Вставлено все содержимое в Visual Studio и сохранен файл

Ссылка на этот новый файл в моем Razor представлении вASP.NET MVC приложение в точно таком же старом принятом способе :

   <link rel="stylesheet" type="text/css" href="/../itvizionlogs/widgets/Content/bootstrap-ie7fix.css">

По любой сумасшедшей / неизвестной причине этот файл ничего не показывает в Chrome,Firefox, Internet Explorer.Что, черт возьми, происходит с этим файлом, так как все остальные в том же каталоге /Content загружаются просто отлично?

Моя последняя попытка была такой:

  • Перешел кИсходный файл в браузере: https://raw.github.com/LPology/Bootstrap-IE7Fix/master/css/bootstrap-ie7fix.css
  • Нажал на пункт меню Chrome File => Save Page As... и переписал существующий файл в моем / Content dir.
  • Попытался перезагрузить страницу приложения и вуаля ... этоЗагадочный файл .css наконец-то загрузился.

Полагаю, Visual Studio изначально зашифровала код этого файла или что-то в этом роде!

0 голосов
/ 15 февраля 2017

У меня было это с помощью webpack-dev-server, это было из-за проблемы с брандмауэром, блокирующей доступ в интернет. Изначально я не думал, что это связано с интернетом, потому что думал, что связал все свои CSS, не завися от внешних источников. Но после копания я нашел другой файл css, который пытался загрузить внешние шрифты с fonts.gstatic.com, этот файл вместе с моим брандмауэром создал мою проблему.

0 голосов
/ 16 января 2013

Не знаю, разрабатывал ли ты свой проект в рамках.У меня были эти ошибки, когда я разрабатывал в ThinkPHP Framework.И причина в том, что frameowrk имеет некоторые правила относительно пути к файлу css, которые нужно включить, чтобы при использовании инфраструктуры вы могли проверить, есть ли у инфраструктуры свои правила для пути к внешнему файлу css или файлу javascript.

...