2011-10-28 10 views
3

私は現在、共有ホスティング環境へのasp.netのWebサイトを展開に取り組んでいる、これは期待どおりに動作web.configのhttpErrorsにdefaultPathを設定せずにカスタムエラーページを指定するにはどうすればよいですか?

<httpErrors errorMode="Custom"> 
    <remove statusCode="404" subStatusCode="-1" /> 
    <error statusCode="404" prefixLanguageFilePath="" path="/file-not-found.htm" responseMode="ExecuteURL" /> 
</httpErrors> 

(404ページがレンダリング)が、これは(500内部サーバーエラー)がない

<httpErrors errorMode="Custom" defaultPath="error.htm" defaultResponseMode="ExecuteURL"> 
    <remove statusCode="404" subStatusCode="-1" /> 
    <error statusCode="404" prefixLanguageFilePath="" path="/file-not-found.htm" responseMode="ExecuteURL" /> 
</httpErrors> 

私はapplicationHost.configのを見てみることを求め、それを持っている:

<httpErrors errorMode="Custom" defaultPath="C:\inetpub\custerr\en-US\SSLRedirect.htm" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> 

だから私はロックされattributとしてそのdefaultPathを想定していますeが問題の原因となっているものです。

これは共有環境に配備されているため、ホスティング会社はapplicationHost.configを変更してdefaultPathのロックを削除したくないため、defaultPath属性をロック解除せずにデフォルトのエラーページを指定する方法はありますか?

+1

デフォルトでロックされている理由やコード以外の解決策が分かっていれば、それもわかります:) –

+2

共有ホスティング環境でロックを解除するとセキュリティ問題が発生するため、デフォルトでロックされます。他のユーザーのプライベートファイルにアクセスするには、defaultPathの絶対パスを使用します。 –

+0

@DimaStefantsov allowAbsolutePathsWhenDelegatedがfalseの場合、絶対パスを使用できますか? –

答えて

1

global.asaxでは、Application_Error()を実装して、どこにでもリダイレクトできます。

+1

良い点 - 私はなぜデフォルトでロックされているのだろう... –

+0

404エラーをキャッチしない – jjxtra

関連する問題