Deploying website: 500 - Internal server error

First, you need to enable and see detailed errors of your web messages, because this is a general message without giving information on what's really happening for security reasons.

With the detailed error, you can locate the real issue here.

Also, if you can run the browser on the server, you get details on the error, because the server recognizes that you are local and shows it to you. Or if you can read the log of the server using the Event Viewer, you also see the details of your error.

###On IIS 6

<configuration>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

###On IIS 7

<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
        <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

Note: You can avoid the Debug=true. You only need to close the custom errors for a while and get the detailed error page.

This can help: How to enable the detailed error messages (from IIS).


I was pulling my hair out over this issue. Making sure the following entry was in the root web.config file fixed it for me:

<configuration>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
</configuration>

Remember that you have to add this to the existing XML elements, if they're already there. You can't just add at the end of the file, because you can't have multiple copies of any element.


For me, the following code in the web.config was the culprit. When I removed it, the web site worked fine.

  <staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
  </staticContent>