web-dev-qa-db-ja.com

リソースはスタイルシートとして解釈されますが、ASP.NETのMIMEタイプtext / htmlで転送されますIIS

実行時にログインページがあり、cssから削除されます。

chromeデバッガからのメッセージです。asp.net2008を使用しています。

何か案は?

<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アドバイスに従って編集。

20
sansknwoledge

問題はあなたのIIS構成にあるようです。text/ html MIMEタイプの.cssファイルを配信するように構成されている可能性があります。

WebサーバーのMIMEタイプ構成に移動して、そこで何かを見つけることができるかどうかを確認してください。

.cssファイルの正しいMIMEタイプはtext/cssです。

また、fiddlerなどの一部のHTTPスニファを使用して、HTTPヘッダーパラメータを確認することもできます。

更新:受け入れられた回答は、@ brett-penningsによって指摘されたものでなければなりません!静的コンテンツを提供するだけで、エラーは自動的に消えました。

37
Variant

IIS Windowsの機能)で「静的コンテンツ」を必ず有効にしてください。

IIS Settings

21
Brett Pennings

IIS(私の場合はそれでした)で書き換えURLを使用している場合、これは問題です。書き換えのエントリの前に、このエントリをWebの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>
2
Elwi

ああ主よ!これはどこかから発生しているように見えるエラーの1つです... Chromeのコンソールウィンドウに非常によく似たメッセージを表示する特定の.cssファイルの原因を特定しようとして、約1時間頭を悩ませていました。

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内にコンテンツ全体を貼り付け、ファイルを保存しました

ASP.NET MVCアプリのRazorビューでこの新しいファイルを参照しました。まったく同じ古いデフォルトの昔ながらの受け入れ方法

   <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が最初にそのファイルのエンコーディングをスクランブルしたか、またはそのようなものだと思います!

1

私はwebpack-dev-serverを使用してこれを行いましたが、それはインターネットアクセスをブロックするファイアウォールの問題が原因でした。外部ソースに依存せずにすべてのcssをバンドルすると思ったので、最初はインターネット関連だとは思いませんでした。しかし、掘り下げた後、fonts.gstatic.comから外部フォントを読み込もうとしている別のcssファイルを見つけました。これがファイアウォールとともに、問題を引き起こしました。

0
Helzgate

フレームワークでプロジェクトを開発したかどうかはわかりません。 ThinkPHPフレームワークで開発したときに、この間違いがありました。そしてその理由は、frameowrkに含めるcssファイルのパスに関するいくつかのルールがあるため、フレームワークを使用する場合、フレームワークに外部のcssファイルまたはjavascriptファイルのパスに関するルールがあるかどうかを確認できるためです。

0
xuxiaojian