An ASP.NET MVC project running under IIS 7.5 (but problem may exist on earlier versions and non-MVC sites) which was previously working has started returning 500 Internal Server
I enabled Failed Request tracing and after searching through the (enormous) log, I discovered this:
<EventData>
<Data Name="ContextId">{00000000-0000-0000-3700-0080010000FC}</Data>
<Data Name="ModuleName">CustomErrorModule</Data>
<Data Name="Notification">536870912</Data>
<Data Name="HttpStatus">500</Data>
<Data Name="HttpReason">Internal Server Error</Data>
<Data Name="HttpSubStatus">19</Data>
<Data Name="ErrorCode">2147942583</Data>
<Data Name="ConfigExceptionInfo">
\\?\C:\Websites\xxx\www\web.config ( 58) :Cannot add duplicate collection
entry of type 'mimeMap' with unique key attribute
'fileExtension' set to '.woff'
</Data>
</EventData>
What has happened is, a new Mime type for serving web-fonts (.woff) had been explicity added to the site.
Later on, the new Mime type (.woff) had also been added to the global IIS mime types.
Instead of the website setting overriding the global setting, an exception was being thrown.
Always remove any mimetype you want to add, just in case it's already defined at the IIS/server level, eg:
<staticContent>
<remove fileExtension=".otf" />
<mimeMap fileExtension=".otf" mimeType="application/x-font-otf" />
</staticContent>
finally solved this 500 Internal server error when deploying MVC 3.0 application on godaddy.ocm shared hosting
somehow there were discrepancies on the version of DLLs referenced and version mentioned in web.config.
Tried all the options mentioned in various forum, Nothing helped, although everyone suggested same kind of fix, but somehow didnt work in my scenario. finally after banging my head for 2 days. i decided to deleted all dll reference and delete web.cofig( make a local copy) from project and let application throw error and then add dll one by one making copy to local=true. after all the dlls are added. i created a new asp.net mvc application and copied the web.config of new app to my actual app. so my actual app now has a new web.config, then i copied the connectionstring and other reference from the local copy of web.config that i saved .
just compiled the application and published to local folder and FTP the published folder to goDaddy
It worked and finally my problem was solved
Hope this will help people and they dont waste 2 days like me,