Ресурс интерпретируется как таблица стилей, но передается с текстом /html типа MIME в ASP.NET IIS
У меня есть страница входа в систему, когда эта страница удалена из css
.
Я узнал это сообщение от chrome debugger. Я использую 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.
Ответы
Ответ 1
Мне кажется, проблема в настройке IIS. он может быть настроен для доставки файлов .css с типом text/html MIME.
Попробуйте перейти на конфигурацию MIME-типов на веб-сервере и посмотреть, можете ли вы что-нибудь там увидеть.
Правильный тип MIME для .css файлов - text/css.
Вы также можете посмотреть параметры HTTP-заголовка с помощью некоторого HTTP-сниффера, такого как fiddler.
Обновление: принятым ответом должен быть тот, на который указывают @breet-pennings!
Просто предоставляя статическое содержимое, ошибка исчезла автоматически:
![IIS Settings - WWW Services - Common HTTP Features - Static Content]()
Ответ 2
Убедитесь, что вы включили "Статическое содержимое" в ОС Windows IIS.
![IIS Settings]()
Ответ 3
Это проблема, когда вы используете rewrite 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>
Ответ 4
Боже мой! Это была одна из тех ошибок, которые, кажется, происходят из ниоткуда... Я почти пялился на голову, пытаясь определить, что вызывает только один конкретный файл .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
загружаются просто отлично?
Моя последняя попытка:
Я думаю, Visual Studio скремблировала кодировку этого файла или что-то в этом роде!
Ответ 5
Я не знаю, разработал ли вы свой проект в рамках.
У меня были эти ошибки, когда я развился в ThinkPHP Framework.
И причина в том, что в frameowrk есть некоторые правила о том, что путь к css файлу должен быть включен, поэтому если вы используете фреймворк, вы можете проверить, имеет ли фреймворк свои правила для пути внешнего файла css или файла javascript.
Ответ 6
У меня было это с помощью webpack-dev-сервера, это было из-за проблемы с брандмауэром, блокирующей доступ в Интернет. Я изначально не думал, что это связано с Интернетом, потому что я думал, что я связал все свои css, не зависимо от внешних источников. Но после копания я нашел еще один файл css, который пытался загрузить внешние шрифты с fonts.gstatic.com, вместе с моим брандмауэром, создал мою проблему.