web-dev-qa-db-fra.com

Est-il possible d'ajouter un type MIME à web.config sans casser le site?

J'avais un web.config dans l'un des sites Web sur mon IIS qui ajoutait une prise en charge de l'extension de fichier .7z. Lorsque j'ai ajouté plus tard une prise en charge globale de .7z au niveau du serveur, ce site a été cassé - IIS Le gestionnaire se plaint qu'il "ne peut pas ajouter d'entrée de collection en double de type 'mimeMap' ...") et toutes les demandes Web aux fichiers ig CSS se sont terminées par une erreur HTTP 500.

J'utilisais ceci dans le web.config du site:

<system.webServer>
    <staticContent>
        <mimeMap fileExtension=".7z" mimeType="application/x-7z-compressed" />
    </staticContent>
</system.webServer>

Y a-t-il peut-être une autre syntaxe qui ajouterait 7z à la liste uniquement si elle n'était pas encore définie?

40
Borek Bernard

Selon this , vous devez supprimer le paramètre global dans la configuration spéciale avant de l'ajouter sous une forme différente.

Explicitement:

<system.webServer>
    <staticContent>
        <remove fileExtension=".7z" />
        <mimeMap fileExtension=".7z" mimeType="application/x-7z-compressed" />
    </staticContent>
</system.webServer>

Bien sûr, cela ne vous aide pas vraiment maintenant car vous pourriez tout aussi bien supprimer complètement le paramètre local (car il risque de coïncider avec le paramètre global) . Mais si vous l'aviez su lorsque vous avez ajouté le support 7Zip local, vous n'auriez pas rencontré l'erreur maintenant ...

76
Hagen von Eitzen