web-dev-qa-db-fra.com

Ressource interprétée comme une feuille de style mais transférée avec le type MIME text/html dans ASP.NET IIS

je vais avoir une page de connexion lorsque exécuté la page est dépouillé de css.

J'ai découvert ce message de chrome debugger. J'utilise asp.net 2008.

Des idées?

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

édité selon les conseils de @robx.

19
sansknwoledge

Il me semble que le problème provient de votre configuration IIS. il peut être configuré pour fournir des fichiers .css avec le type MIME text/html.

Essayez d’accéder à la configuration des types MIME sur le serveur Web et voyez si vous pouvez y trouver quelque chose.

Le type MIME correct pour les fichiers .css est text/css.

Vous pouvez également consulter les paramètres d'en-tête HTTP avec certains renifleurs HTTP tels que fiddler.

Mise à jour: La réponse acceptée doit être celle indiquée par @ brett-pennings! En fournissant simplement un contenu statique, l'erreur disparaît automatiquement.

37
Variant

Assurez-vous d’activer "Contenu statique" dans IIS Fonctionnalités Windows.

IIS Settings

15
Brett Pennings

Ceci est un problème lorsque vous utilisez l'URL de réécriture dans IIS (dans mon cas, c’était cela), vous devez ajouter cette entrée dans votre fichier web.config de votre site Web avant l’entrée de réécriture, comme ceci: ce:

<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

Oh mon Dieu! C’était une de ces erreurs qui semble venir de nulle part ... Je me suis égratigné la tête pendant près d’une heure pour essayer d’identifier ce qui faisait qu’un seul fichier .css affichait un message très similaire dans la fenêtre de la console de Chrome:

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

Vous voyez que c'est text/plain au lieu de text/html.

Le fichier en question était celui-ci:

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

Ce que j'ai fait dans Visual Studio 2013 Ultimate était:

  • Cliquez avec le bouton droit sur le dossier Content du projet et sélectionnez Ajouter Style Sheet.
  • Renommé le fichier en bootstrap-ie7fix.css
  • Copié le contenu complet du fichier .css ci-dessus
  • Collé tout le contenu dans Visual Studio et enregistré le fichier

Référencement de ce nouveau fichier dans ma vue Razor dans une application ASP.NET MVC dans leexactement la même méthode acceptée par le passé:

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

Pour toute raison folle/inconnue, ce fichier n’affiche rien dans Chrome, Firefox, Internet Explorer. Que se passe-t-il avec ce fichier puisque tous les autres dans le même répertoire /Content se chargent parfaitement?

Mon dernier essai était celui-ci:

Je suppose que Visual Studio a brouillé le codage de ce fichier au départ ou quelque chose comme ça!

1
Leniel Maccaferri

J'avais ceci en utilisant webpack-dev-server, c'était à cause d'un problème de pare-feu bloquant l'accès à Internet. Au départ, je ne pensais pas que c'était lié à Internet parce que je pensais avoir regroupé tous mes css sans dépendre de sources externes. Mais après avoir creusé, j'ai trouvé un autre fichier css qui tentait de charger des polices externes à partir de fonts.gstatic.com, ce qui, avec mon pare-feu, a créé mon problème.

0
Helzgate

Je ne sais pas si vous avez développé votre projet dans le cadre. J'avais ces erreurs lorsque j'ai développé dans le cadre ThinkPHP. Et la raison en est que le cadre a des règles sur le chemin du fichier css à inclure afin que, si vous utilisez le framework, vous puissiez vérifier si le framework a ses règles pour le chemin du fichier css extérieur ou du fichier javascript.

0
xuxiaojian