Resource interpreted as Stylesheet but transferred with MIME type text/html in ASP.NET IIS

我的未来我决定 提交于 2019-12-17 22:47:05

问题


i am having a login page when executed the page is stripped out of css.

I found out this message from from chrome debugger. I am using asp.net 2008.

Any ideas?

<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>

edited as per @robx advice.


回答1:


Seems to me like the problem is in your IIS configuration. it might be configured to deliver .css files with text/html MIME type.

Try going to the MIME types configuration on the web server and see if you can spot anything there.

The correct MIME type for .css files is text/css.

You can also have a look on the HTTP header parameters with some HTTP sniffer such as fiddler.

Updating: The accepted answer should be the one pointed by @brett-pennings! Just providing static contents, the error vanished automatically.




回答2:


Make sure you enable "Static Content" in IIS Windows Features.




回答3:


This is a problem when you are using rewrite url in IIS (in my case it was that), you need to add this entry in your web.config file of your web before the entry of rewrite, something like this:

<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:


Oh dear lord! This was one of those errors that seems to come from nowhere... I was scratching my head for almost 1 hour trying to identify what was causing just 1 specific .css file to show a message very similar in Chrome's console window:

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

You see it's text/plain instead of text/html.

The file in question was this one:

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

What I did in Visual Studio 2013 Ultimate was:

  • Right-clicked the project's Content folder and selected Add Style Sheet.
  • Renamed the file to bootstrap-ie7fix.css
  • Copied the full content of the above .css file
  • Pasted the entire content inside Visual Studio and saved the file

Referenced this new file in my Razor view in an ASP.NET MVC app in the exactly same old default fashioned accepted way:

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

For any crazy/unknown reason that file would show nothing in Chrome, Firefox, Internet Explorer. What the hell is going on with this file since all other ones in the exact same /Content directory are loading just fine?

My last try was this:

  • Navigated to the original file in the browser: https://raw.github.com/LPology/Bootstrap-IE7Fix/master/css/bootstrap-ie7fix.css
  • Clicked Chrome's File => Save Page As... menu option and overwrote the existing file in my /Content dir.
  • Tried reloading my app page and voila... this mysterious .css file finally got loaded.

I guess Visual Studio scrambled the encoding of that file initially or something like that!




回答5:


I don't know whether you developed your project in the framework. i had this mistakes ,when i developed in the ThinkPHP Framework. And the reason is that the frameowrk has some rules about the path of the css file to be include so that if you use the framework ,you can check out whether the framework has its rules for the path of outside css file or javascript file.




回答6:


I had this using webpack-dev-server, it was because of a firewall issue blocking internet access. I initially didn't think it was internet related because I thought I bundled all of my css without depending on external sources. But after digging, I found another css file that was trying to load external fonts from fonts.gstatic.com, this along with my firewall, created my issue.



来源:https://stackoverflow.com/questions/6089070/resource-interpreted-as-stylesheet-but-transferred-with-mime-type-text-html-in-a

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!