subfolder がアクセスできない? IIS

Modxで運用するサイトであるサブフォルダーだけアクセスできない。ManagerからはFile Treeで見ることができるのだが、フォルダーの中のイメージファイルの画像をレンダリングしない。 フロントエンドから見ると、イメージファイルの部分でサーバーエラーになっているようだ。 web.configでエラー出力をONにしてみると、エラー500で以下を表示した。 Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: It is an error to use a section registered as allowDefinition=’MachineToApplication’ beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS. Source Error:   Line 36: に、ASP.NET で使用されるセキュリティ認証モードの構成 Line 37: を有効にします。–> Line 38: <authentication mode=”Windows”/> Line 39: <!– Line 40: <customErrors> セクションは、要求の実行中にハンドル さて、これをどう解釈すればよいのだろう?とくよくよ考えるよりは、グーぐる検索をするのが一番で、この記述に行き当たった。 要約するとこういうことだ。IISサーバーで ” It is an error to use a section registered as allowDefinition=’MachineToApplication’ beyond application level.” というエラー表示が出る理由には二つある。 ひとつはアプリケーションをちゃんとバーチャルダイレクトリとして設定していないこと。 これは設定を見直せばよい。 もうひとつは、サブフォルダーにweb.configがルートのweb.configとバッティングするための不具合、 で、今回の場合、サブフォルダのファイルがアクセスできない、ということで、後者だと考え探したらやはりsubfolderに入っていたweb.configがルートのWebFoldeを発見。 考えてみればあたりまえで、このサブフォルダー、以前のテストでスタティックなサイトをやはりIISで運営していたのをmodxでダイナミックなサイトにしようとそのままコピーしていたのだ、から当然web.configもコピーしてしまっていた、というわけだった。 解決策としては、このサブフォルダーのweb.configをバッサリ削除。   たくもう。 後記:サブフォルダーにweb.configが存在すること自体、ありうる話(フォルダーごとに書き換えのルールを変えるなど。たとえばOutboundのurl情報からサブフォルダー情報を取り除く) なのでサイトの設定によっては必要なのだが、IISのGUIを使っていれば、このマネージメントはちゃんとなされて調和のとれたweb.configが作成される。