Подтвердить что ты не робот

Ресурс интерпретируется как таблица стилей, но передается с текстом /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.

4b9b3361

Ответ 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 загружаются просто отлично?

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

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

Я думаю, Visual Studio скремблировала кодировку этого файла или что-то в этом роде!

Ответ 5

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

Ответ 6

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