7
ASP.NETカスタム404が404ではなく200OKを返すが見つかりません
Googleウェブマスターツール用にサイトを設定しようとしたところ、カスタムASP.NET404ページが404ステータスコードを返さないことがわかりました。正しいカスタムページが表示され、ブラウザにすべて問題がないことが通知されました。これはソフト404またはフォールス404と見なされます。Googleはこれを好みません。そのため、この問題に関する記事をたくさん見つけましたが、私が望む解決策はうまくいかなかったようです。 私が働きたい解決策は、カスタム404ページのPage_Loadメソッドの背後にあるコードに次の2行を追加することです。 Response.Status = "404 Not Found"; Response.StatusCode = 404; これは機能しません。ページはまだ200OKを返します。ただし、次のコードをデザインコードにハードコーディングすると、正しく機能することがわかりました。 <asp:Content ID="ContentMain" ContentPlaceHolderID="ContentPlaceHolderMaster" runat="server"> <% Response.Status = "404 Not Found"; Response.StatusCode = 404; %> ... Much more code ... </asp:content> ページはマスターページを使用しています。そして、web.configでカスタムエラーページを構成しています。私は実際にはコードビハインドオプションを使用したいのですが、デザイン/レイアウトにハックインラインコードを配置せずにそれを機能させることはできないようです。