たまに、「web.config をサーバーに置いたけど、エラーの詳細は相変わらず表示されへんのじゃ!(どうなっとるんじゃワレ)」ってことがあります。そういうときは以下をチェックしてください。
その 1
customErrors mode="off" にしていませんか? "Off" にしてください。オーは大文字です。
その 2
web.config の開始タグと終了タグはきっちり対応整ってますか?
1: <configuration>
2: <system.web>
3: <customErrors mode="Off" />
4: </system.web>
5: <configuration> <!-- / を入れ忘れている -->
たとえば、これだと 1 行目の開始タグに対応する終了タグが存在しないので、500 番エラーが出てしまいます。
その 3
独自要素を入れていませんか?
1: <configuration>
2: <system.web>
3: <customErrors mode="Off" />
4: <ore fname="tarou" lname="yamada" /> <!-- ore という要素は認められない -->
5: </system.web>
6: </configuration>
4 行目の ore は認められません。この場合も 500 番エラーが出ます。
その 4
web.config の文字コードがシフト JIS になっていませんか?
もし、シフト JIS なら 500 Internal Server Error が出るかもしれません。
基本、web.config は UTF-8 で保存してください。
どうしても web.config をシフト JIS で保存しなければならないならば、web.config の一行目に encoding="shift_jis" を追加してください。
1: <?xml version="1.0" encoding="shift_jis"?> <!-- この一行を追加 -->
2: <configuration>
3: <appSettings>
4: <add key="a" value="あいうえお" />
5: </appSettings>
6: <system.web>
7: <customErrors mode="Off" />
8: </system.web>
9: </configuration>
参考になるページ