2012-03-19 13 views
2

私はすべての*.htmlファイルに対して.NETのカスタムHttpHandlerを使用しますが、ハードウェア上で静的ファイルとして扱われるファイルfoo.htmlに対して1つの例外を作成したいドライブ。私が試した:IIS - 1つを除くすべてのファイルにHttpHandlerを使用

<httpHandlers> 
    <remove verb="*" path="*.html" /> 
    <add verb="*" path="/foo.html" type="System.Web.StaticFileHandler" /> 
    <add verb="*" path="*.html" validate="false" type="Imp.Handler" /> 
    </httpHandlers> 

と同様に:

<httpHandlers> 
    <remove verb="*" path="*.html" /> 
    <add verb="*" path="*.html" validate="false" type="Imp.Handler" /> 
    <add verb="*" path="/foo.html" type="System.Web.StaticFileHandler" /> 
    </httpHandlers> 

しかし、両方がImp.Handlerはまだfoo.html要求を処理するようになります。私は間違って何をしていますか?

IISはクラシックモードで実行されています。

答えて

0

この方法では、他のフォルダにファイルを移動し、このフォルダのhttphandlerを無効にすることができます。

<location allowOverride="false" path="Static"> 
    <system.web> 
     <httpHandlers> 
     <remove verb="*" path="*.htm"/> 
     <!--<add verb="*" path="/foo.htm" type="System.Web.StaticFileHandler" />--> 
     </httpHandlers> 
    </system.web> 
</location> 

<httpHandlers> 
    <add verb="*" path="*.html" validate="false" type="Imp.Handler" /> 
</httpHandlers> 

私はテストにこれをしようと、質問は次のとおりです。例.FOR

if i remove HttpHandler for the "*.html" in the location element,and add a other httphandler will doesn't worked

<location> 
    <remove verb="*" path="*.htm"/> 
    <add verb="*" path="foo.html" validate="false" type="Imp.Handler" /> 
</location> 
+0

いいえ、私はOK '/ foo.html' –

+0

するパスが必要かこれを解決するためにIISのISAPIを使用することができます。'Ionics Isapi Rewrite Filter' – zhengchun

関連する問題