2011-06-09 15 views
24

Webアプリケーションのカスタム404エラーページを設定しようとしています。問題は、このアプリケーションがさまざまな環境に展開されることです。場合によっては仮想ディレクトリに存在することもありますが、時にはそうではありません。IIS7でカスタムエラーページを設定するときに相対パスを使用できますか?

私はエラーページというディレクトリにエラーページを持っているし、このように私の設定を設定している:

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="404"/> 
    <error statusCode="404" path="/VirtualDir/ErrorPages/404.aspx" responseMode="ExecuteURL" /> 
    </httpErrors> 
</system.webServer> 

私は、Webサイトのルートにこれを展開するときにトラブルがあり、/VirtualDir一部はする必要があります除去される。展開前に削除すると、仮想ディレクトリに展開するときに追加する必要があります。仮想ディレクトリに対して、の相対パスを設定することはできますか?

私は~を使用してみましたが、それはどちらか動作しません、次のように:

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="404"/> 
    <error statusCode="404" path="~/ErrorPages/404.aspx" responseMode="ExecuteURL" /> 
    </httpErrors> 
</system.webServer> 
+3

短い答えはであることが表示されます:いいえ、IIS7でカスタムエラーページを設定するときに相対パスを使用することはできません! –

+0

マーティン、私はあなたを信じますが、あなたには引用がありますか? – Michael

+3

@Michael [このリンク](http://www.iis.net/configreference/system.webserver/httperrors/error#005)では、URLはサーバーの相対URLでなければならず、アプリケーションの相対URLではなく、 'responseMode = "ExecuteURL"。 – WolfyUK

答えて

関連する問題