エラーの詳細を表示できない場合の要チェック箇所

たまに、「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 番エラーが出てしまいます。

500 Internal Server Error

 

その 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>

参考になるページ