IISでサイトを立ち上げたのですが、必要なディレクトリにアクセスする500.19エラーが発生しました。
IISとはご存知の通りInternet Information Serviceの略でWindowsで動作するウェブサーバーです。
500.19エラーはhttpステータスコードでサーバー内部のエラーを指します。
当然書き換えてますが下記にアクセスしようとしてエラーが起きました。
http://[IPアドレス]/test/test.txt
I外部からアクセスが拒否されている状態かと思い下記を試してみましたが、こちらでもエラーが起きました。
http://localhost:[ポート番号]/test/test.txt
500.19エラーが表示されるため外部からのアクセス拒否ではないと分かるので、localhostでのアクセスを試す必要もなかったのですがその時は頭が回らずでした。
エラーが起きたときに何よりもすべきなのはエラーログをよく読むことですが時間を浪費しました。
他ディレクトリでサイトを立ち上げてアクセスしてみる
他ディレクトリでサイトを立ち上げてアクセスを試してみました。
同じ手順を実行した認識であったためアクセスできないと予測していたのですがこちらはアクセスできました。
ディレクトリのアクセス権限疑い調べますが違いはありません。
この時点では原因を特定できなかったのですが、ディレクトリに問題があることは理解できました。
MIME Typeの編集ができない
色々試したところ、開けたディレクトリのMIME Typeの編集はできるのに、開けないディレクトリでは編集できないことに気づきました。
どちらのディレクトリも最初にMIME Typeの設定はしましたが、設定手順は変えていません。
MIME Typeが編集できない理由を調べたところ、作成した心あたりがないのですがweb.configというファイルに原因がありました。
WEB.configを削除する
アクセスできないディレクトリの中を確認するとWEB.configが存在しました。
アクセスできたディレクトリには存在しなかったためとりあえず不要なものとして削除したところ、アクセスすることができました。
web.configとは構成設定を記述するXMLファイル
WEB.configはIISのウェブサイトやアプリケーションの構成設定を記述するXMLファイルです。
WEB.configは必ずサイトのルートディレクトリに存在する必要があります。
IISでサイトを立ち上げると自動作成されます。
アクセスできなかったディレクトリをルートにしたサイトを立ち上げたことがあったためそのディレクトリにWEB.configが生成されてしまっていました。
そのディレクトリを含んだサイトを作成した際にそのディレクトリは当然ルートディレクトリではないためエラーを起こしていました。
500.19エラー画面を再度見る
再度500.19エラー画面を見てみたところWEB.configが記載されてました。
エラーメッセージをよく読むよう気をつけます。

