Possible to add MIME type to web.config without po

2020-05-19 06:38发布

问题:

I had a web.config in one of the websites on my IIS that was adding a support for .7z file extension. When I later added a global .7z support at the server level, this site was broken - IIS Manager is complaining that it "cannot add duplicate collection entry of type 'mimeMap'..." and all web requests to i.g. CSS files ended with an HTTP 500 error.

I was using this in the site's web.config:

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

Is there maybe some other syntax that would add 7z to the list only if it wasn't defined yet?

回答1:

According to this, you should remove the global setting in the special config before adding it in a different form.

Explcitly:

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

Of course this doesn't really help you now as you might just as well drop the local setting completely (as it's likely to coincide with the global setting). But if you had known this back when you added local 7zip support, you wouldn't have encountered the error now ...