7
ASP.NET自定义404返回200 OK,而不是找不到404
在尝试为Google网站站长工具设置我的网站后,我发现我的“自定义ASP.NET 404”页面未返回404状态代码。它显示了正确的自定义页面,并告诉浏览器一切正常。这被视为软404或错误404。Google不喜欢这样。因此,我找到了很多有关该问题的文章,但是我想要的解决方案似乎没有用。 我要工作的解决方案是将以下两行添加到自定义404页面的Page_Load方法后面的代码中。 Response.Status = "404 Not Found"; Response.StatusCode = 404; 这行不通。该页面仍然返回200 OK。但是我发现,如果我将以下代码硬编码到设计代码中,它将可以正常工作。 <asp:Content ID="ContentMain" ContentPlaceHolderID="ContentPlaceHolderMaster" runat="server"> <% Response.Status = "404 Not Found"; Response.StatusCode = 404; %> ... Much more code ... </asp:content> 该页面正在使用母版页。我在web.config中配置自定义错误页面。我真的很想使用选项背后的代码,但是如果不在设计/布局中加入hack内联代码,我似乎无法使其工作。