C# 从旧url c到新url c的页面重定向#

C# 从旧url c到新url c的页面重定向#,c#,.net,redirect,url-redirection,C#,.net,Redirect,Url Redirection,我用新技术开发了一个现有站点。但我的旧网站是在很久以前开发的,所以它是在搜索引擎中爬行的。但我的问题现在开始了。在旧站点中,有一个页面url:root/abc?type=xyz,而现在正在开发的url类似于:root/mnp/xyz 现在我要做什么才能从旧url重定向到新url?我不想重写url,只需要重定向。请引导我 谢谢 Dipa我认为最简单的方法是创建一个javascript函数,当窗口加载时运行,它所做的一切就是重定向到新网站。 将该脚本放在旧网站中,如果有人试图访问您的旧网站,它只会将

我用新技术开发了一个现有站点。但我的旧网站是在很久以前开发的,所以它是在搜索引擎中爬行的。但我的问题现在开始了。在旧站点中,有一个页面url:root/abc?type=xyz,而现在正在开发的url类似于:root/mnp/xyz

现在我要做什么才能从旧url重定向到新url?我不想重写url,只需要重定向。请引导我

谢谢


Dipa

我认为最简单的方法是创建一个javascript函数,当窗口加载时运行,它所做的一切就是重定向到新网站。
将该脚本放在旧网站中,如果有人试图访问您的旧网站,它只会将他重定向到新网站。

您需要在Umbraco中创建一个内容页面,URL为“root/abc”,并在页面的相应模板(razor视图)的前几行中添加重定向代码。

解决方案:

Response.RedirectPermanent("root/mnp/xyz");
您需要告诉搜索引擎您的旧URL已不存在,并且已被新URL替换。Asp.net提供了一种非常简单的方法来执行此任务

你只要打个电话就行了。它将响应301发送给搜索引擎,告知此URL已被新URL替换

例如:

Response.RedirectPermanent("root/mnp/xyz");
你可以读得更详细一点

您的方法应该是:

Response.RedirectPermanent("root/mnp/xyz");
但在你的情况下,问题是你的旧网站已经不存在了。因此,您必须在这里做一些额外的工作:

  • 基于web表单创建网站,并添加要在其上执行重定向的所有页面
  • 每个表单的页面加载事件都会
    重定向到新URL
  • 将站点托管在同一域上
  • 示例:

    Response.RedirectPermanent("root/mnp/xyz");
    
    我在这里为您在问题中的示例提供了一个示例:

    protected void Page_Load(object sender, EventArgs e)
    {
        string type = Request.QueryString["type"];
        if (type != null)
        {
            Response.RedirectPermanent("root/mnp/" + type);
        }   
    }
    

    .

    “我不想重写url,只应执行重定向”-添加代码以重定向到旧页面中的新页面?您是否使用ASP.NET MVC?我的新站点在umbraco中。我的旧站点已删除。无法访问它。我只能访问新开发的网站。@Dipa如果你没有访问旧url的权限,你就不能阻止人们去那里,即使那里没有服务器。但是,如果它在同一个域上,您可以在旧站点位置通过重定向创建一个新页面。是的,我将在相同的url中发布该新站点。我的旧网站是在www.site.com上的,并将在新网站上使用相同的网站。现在,您可以指导我如何在服务器中添加新页面,正如您所说的。我不知道怎么做。Thanks@Dipa不幸的是,我没有使用Umbraco的经验,所以我真的不知道如何在其中制作页面。。。我以为你知道怎么做,因为你用它建立了一个完整的网站。然而,在每个网页中添加javascript代码应该非常容易。只需添加一个带有window.location=“newURL”的脚本就可以了