在发布新网站时处理重定向

时间:2012-02-23 09:23:14

标签: asp.net iis redirect webforms iis-6

我即将为客户发布/替换网站。我想知道从旧的(不再存在的)页面到新的等效页面(不同的URL)处理重定向的最佳方法是什么。

示例:

site.com/product/page.aspx应重定向到site.com/newstructure/stuff.aspx

我正在寻找处理所有这些重定向的可靠核心方法(301:s)。

为旧页面创建路径并简单地从那里重定向并不是一个好的解决方案。我可以在Web.config中使用Url Mappings吗?我应该使用global.asax吗?

2 个答案:

答案 0 :(得分:1)

为了不丢失您的Google位置,您需要在页面之间设置301 Permanent Redirect

RedirectPermanent("newpage.aspx");

现在,如果您创建了一个表,从旧页面到新页面,您可以将它应用于global.asax:

// initialize this list on start of your program
Dictionary<string,string> oMapOldToNew = new Dictionary<string,string>();

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    string cTheFile = HttpContext.Current.Request.Path;

    if(oMapOldToNew.ContainsKey(cTheFile))
    {
        Response.RedirectPermanent(oMapOldToNew[cTheFile], true);
            return;
    }    
}

RedirectPermanent ref:http://msdn.microsoft.com/en-us/library/dd322042.aspx

答案 1 :(得分:0)

我建议使用URL Rewrite模块,然后设置规则。您的网址可能不匹配,因此您必须手动映射它们(无论如何,手动执行它会更好,因为这是最可靠的方式)。

如果您正在寻找模块,请查看以下网址。 http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

根据您正在运行它的IIS,您可能希望找到不同版本的重写模块。

希望有所帮助。