web-dev-qa-db-fra.com

404 sur le contenu statique (svg, woff, ttf) sur Azure

J'essaie d'ajouter bootstrap glyphicons-halflings-regular.svg à mon site Web. Localement, tout fonctionne bien, mais sur Azue, j'ai 404 erreurs:

La ressource que vous recherchez a été supprimée, son nom a changé ou est temporairement indisponible.

ou quand j'ajoute ci-dessous la section staticContent à mon web.config

<staticContent>
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
    <remove fileExtension=".ttf" />
    <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
    <remove fileExtension=".svg" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>

J'ai eu cette erreur:

Le contrôleur du chemin '/Content/fonts/glyphicons-halflings-regular.woff' est introuvable ou n'implémente pas IController.

Comment dois-je configurer correctement mon site ASP.NET pour éviter les erreurs ci-dessus?

56
Piotr Stapp

Je n'ai pas inclus de fichiers de polices dans la solution. Cela a fait que le site Web de publication ne contient pas ces fichiers.

5
Piotr Stapp

J'ai rencontré le même problème avec .woff fichier. Solution avec l'ajout de cette extension à web.config fonctionne très bien:

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension="woff" mimeType="application/font-woff" />
  </staticContent>
</system.webServer>

(voir solution oryginale: http://www.codepal.co.uk/show/WOFF_files_return_404_in_Azure_Web_Sites )

72
eldi

Lorsque je mets les lignes suggérées dans web.config ça n'a pas marché. Au lieu de cela, je mets les lignes suivantes dans Web.config (notez la majuscule)

<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension="woff" mimeType="application/font-woff" />
            <mimeMap fileExtension="woff2" mimeType="application/font-woff" /> 
         </staticContent>
    </system.webServer>
13
maracuja-juice

Si vous utilisez le déploiement continu sur Azure, vérifiez que "l'action de génération" de tous les fichiers dont vous avez besoin est Content et non None.

3
Matteo Migliore

Avez-vous corrigé les chemins dans le fichier css qui font référence aux fichiers de police? Bootstrap suppose que le fichier css se trouve dans un répertoire css et que fonts se trouve dans un répertoire fonts au même niveau que le répertoire css.

Lorsque vous exécutez dans Azure, le site s'exécute probablement en mode Release. Cela signifie que votre css et javascript sont minifiés et regroupés. Cela peut parfois casser votre configuration.

J'ai effectué la configuration suivante en incluant bootstrap dans mes projets:

Décompressez bootstrap fichiers dans le répertoire/Content.

Ajoutez les lignes suivantes à App_Start/BundleConfig.cs

bundles.Add(new StyleBundle("~/Content/bootstrap/css/bundle")
.Include("~/Content/bootstrap/css/bootstrap.css"));
bundles.Add(new ScriptBundle("~/Content/bootstrap/js/bundle")
.Include("~/Content/bootstrap/js/bootstrap.js"));

Ajoutez les lignes suivantes à View/Shared/_Layout.cshtml

@Styles.Render("~/Content/bootstrap/css/bundle") 
@Scripts.Render("~/Content/bootstrap/js/bundle") 

Notez que jQuery doit être inclus avant le Bootstrap js-bundle.

http://hj-dev.blogspot.no/2013/02/add-Twitter-bootstrap-to-mvc4.html

0
HenningJ