Asp.net 如何转换301永久重定向中的404错误代码

Asp.net 如何转换301永久重定向中的404错误代码,asp.net,iis,http-status-code-404,http-status-code-301,Asp.net,Iis,Http Status Code 404,Http Status Code 301,我想把我的404状态码转换成301。我有搜索引擎优化的顶级索引网站,如果机器人找不到我的页面,我不想失去我的位置。 对于一些URL,我得到404状态,通过重定向到另一个带有404状态代码的页面,这对SEO来说不是一件好事。 所以我想将状态代码转换为301,这样就不会影响我的索引。 当它给出404时,我想设置301状态码。我的网站是asp.NET1.1,我以前尝试过很多解决方案。 一些解决方案给我301而不是404状态码,但他们在第二步给出。意味着他们先给出302,然后给出301。但我不想那样做。

我想把我的404状态码转换成301。我有搜索引擎优化的顶级索引网站,如果机器人找不到我的页面,我不想失去我的位置。 对于一些URL,我得到404状态,通过重定向到另一个带有404状态代码的页面,这对SEO来说不是一件好事。 所以我想将状态代码转换为301,这样就不会影响我的索引。 当它给出404时,我想设置301状态码。我的网站是asp.NET1.1,我以前尝试过很多解决方案。 一些解决方案给我301而不是404状态码,但他们在第二步给出。意味着他们先给出302,然后给出301。但我不想那样做。我想直接从404到301。 是否可以使用asp.net 1.1和IIS

请帮我做这件事


谢谢

您可以使用应用程序的web.config配置错误重定向。下面是一个例子:

<customErrors mode="On" defaultRedirect="~/somecatchallpage.aspx?type=error">
    <error statusCode="404" redirect="somecatchallpage.aspx?type=404"/>
    <error statusCode="301" redirect="somecatchallpage.aspx?type=301"/>
</customErrors>


这里有一些额外的阅读资料(适用于asp.net 1.1版):

您是否使用global.asax进行了尝试

void Application_Error(object sender, EventArgs e) 
{
    Exception exception = Server.GetLastError();

    if (exception is HttpException)
    {
        Response.Redirect(..);
    }
}

谢谢你的回复,但我不想要这种类型的重定向。我已经用过这个了。我已经提到我想把404转换成301。也就是说,当我得到404并重定向到某个页面时,我应该在该页面上得到301状态代码。通过这样做,你所建议的我将得到302,我不想要它。:)有什么答案或进展吗?