
私はウェブサイトでデフォルトアプリケーション ルートのドキュメントは必要ですが、サブディレクトリには必要ではありません。「ディレクトリ参照」機能を使用していますが、サブディレクトリに対してのみ機能するようにしたいです。
以下は私の web.config の一部です:
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="1f200f74-07e5-4681-a275-e9cbc9f1b794.txt" />
</files>
</defaultDocument>
<directoryBrowse enabled="true" />
応募してみました子アプリケーションを継承するdefaultDocument 要素に適用しようとしましたが、うまくいかず、実際にはアプリケーションが失敗します。そのため、defaultDocument をルートにのみ適用し、directoryBrowse をすべてのサブディレクトリに適用したいと思います。
各サブディレクトリに web.config ファイルを配置し、defaultDocument にクリアを適用できることはわかっていますが、それらのディレクトリに web.config ファイルを配置することはできません (このアプリの性質上、それは許可されません)。 (また、許可サブディレクトリ設定ここでは機能しません。処理サブディレクトリ内の web.config ファイルの数。
web.configにそのノードに設定を適用する構成がありますかのみ?
答え1
解決策は 場所タグ:
場所タグは、仮想パスにマップされたフォルダー内の web.config ファイルの代わりに、パス固有の構成を指定するために使用されます。パスの場所タグは、構成階層の親レベルで設定され、その親レベルにあると見なされます。
上記リンクの例をご覧ください。
答え2
harrymc の回答に基づいて、この構成を機能させることができました。
<location path="." inheritInChildApplications="false">
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="1f200f74-07e5-4681-a275-e9cbc9f1b794.txt" />
</files>
</defaultDocument>
</system.webServer>
</location>
<system.webServer>
<!--<defaultDocument enabled="true">
<files>
<clear />
<add value="1f200f74-07e5-4681-a275-e9cbc9f1b794.txt" />
</files>
</defaultDocument>-->
<directoryBrowse enabled="true" />
...
の使用法子アプリケーションを継承する属性の位置要素も必要です。元の「defaultDocument」要素はそのまま残しましたが、元の試みのプレースホルダーとしてコメントアウトしました。