2011-08-01 10 views
0

404エラーのカスタムリダイレクトページを作成しようとしています。現時点では、おそらくホストサーバーとは異なるエラーページがあります。私のweb.configファイルは以下のとおりです。 customErrorタグをコメントアウトすると、ホストサーバーのデフォルトページが表示されます。これをカスタムページ "404.html"に変更します。これをコメントアウトすると、おそらくデフォルトを上書きしようとしますが、内部サーバーのエラーが発生します!! 404宣言はのcustomErrorsタグには行かない404リダイレクトページをデフォルトページからカスタムページに変更します。

<?xml version="1.0" encoding="UTF-8"?> 

    Please refer to machine.config.comments for a description and 
    the default values of each configuration section. 

    For a full documentation of the schema please refer to 
    http://go.microsoft.com/fwlink/?LinkId=42127 

    To improve performance, machine.config should contain only those 
    settings that differ from their defaults. 

<configuration> 
    <system.webServer> 
     <customErrors mode="On"> 
      <error statusCode="404" redirect="/404.html" /> 
     </customErrors> 
     <!--<httpErrors> 
     <remove statusCode="404" subStatusCode="-1" />     
     <error statusCode="404" path="/404.html" responseMode="ExecuteURL" />   
     </httpErrors>-->  
     <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 
</configuration> 
+0

統合/パイプラインモードのものですか? – nikhil

答えて

1

、ここにあなたが必要とするべきである:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
     <httpErrors errorMode="DetailedLocalOnly"> 
      <remove statusCode="404" subStatusCode="-1" /> 
      <error statusCode="404" prefixLanguageFilePath="" path="/404.html" responseMode="ExecuteURL" /> 
     </httpErrors> 
    </system.webServer> 
</configuration> 

設定してみてくださいあなたのweb.configにちょうどそれ、それが動作するかどうか、のcustomErrorsタグが表示さ従来のASPより.NETページの方が多く、古典的な500:100でさえhttpErrorsセクションで宣言され、CustomErrorsでは宣言されていません。

これは、無関係なビットが取り除かれた既知の動作web.configから取られます。 ExecuteURLを使用しているときにASPページに送信できます。つまり、404をスマートに処理できます。リダイレクトするか、検索結果ページを表示します。

+0

ありがとうリチャード! – nikhil

関連する問題