IIS がサブディレクトリに設定を適用しないようにする

IIS がサブディレクトリに設定を適用しないようにする

私はウェブサイトでデフォルトアプリケーション ルートのドキュメントは必要ですが、サブディレクトリには必要ではありません。「ディレクトリ参照」機能を使用していますが、サブディレクトリに対してのみ機能するようにしたいです。

以下は私の 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」要素はそのまま残しましたが、元の試みのプレースホルダーとしてコメントアウトしました。

関連情報