ワイルドカードマッピング用にIISで構成されたISAPIDLLがあります。リクエストURLが静的ファイルに対応している場合、IISのStaticFileModuleがそのファイルを提供するようにします。ファイルが存在しない場合は、ISAPIDLLで処理してください。
静的ファイル階層のルートにあるweb.configのハンドラーセクションは次のようになります...
<handlers accessPolicy="Read, Script">
<clear />
<add name="SomeIsapiDll" path="*" verb="*" type=""
modules="IsapiModule" scriptProcessor="C:\my_site\some_isapi.dll"
resourceType="Unspecified" requireAccess="None" allowPathInfo="false"
preCondition="" responseBufferLimit="4194304" />
<add name="StaticFile" path="*" verb="*" type=""
modules="StaticFileModule,DefaultDocumentModule" scriptProcessor=""
resourceType="Unspecified" requireAccess="None" allowPathInfo="false"
preCondition="" responseBufferLimit="4194304" />
</handlers>
これはISAPIDLLを対象とした要求に対して機能しますが、静的ファイルは404として返されます。順序を逆にすると、要求のコンテンツがない空白のページが表示されます。web.configからISAPIDLLを削除すると、静的ファイルは正しく提供されますが、もちろん、ISAPI要求は提供されません。
私の理解では、カスケードワイルドカードハンドラーは機能するはずですが、私が見つけることができるMicrosoftのドキュメントは、これを実現する方法について非常にあいまいです。これは、構成の問題またはISAPI DLL実装の問題のいずれかである可能性がありますが、現時点ではわかりません。考え?