 <p>For IIS 7+, you're only missing the part that defines <em>which</em> httpErrors to handle with custom handlers:</p> <pre><code>&lt;configuration&gt; &lt;system.webServer&gt; &lt;httpErrors errorMode="Custom"&gt; &lt;remove statusCode="500" /&gt; &lt;error statusCode="500" path="~/Views/Shared/Error.aspx" /&gt; &lt;/httpErrors&gt; &lt;/system.webServer&gt; &lt;/configuration&gt; </code></pre> <p>(The <code>&lt;remove /&gt;</code> tag is optional, depending on your web.config hierarchy.)</p> <p>For IIS 6 and below, You have to set this via the IIS Manager by going to the appropriate Properties page, Custom Errors tab, then edit the appropriate HTTPError line to "Message type:" "URL" and "URL:" "~/Views/Shared/Error.aspx".</p>