2012-10-08 116 views
1

我想重定向我的旧地址www.informarea.it/BlogEngine新址www.informarea.it ...重定向blogengine.net(Global.asax中)永久301

* 我的Global.asax blogengine.net的是*

void Application_BeginRequest(object source, EventArgs e) 
{ 
    HttpApplication app = (HttpApplication)source; 
    HttpContext context = app.Context; 

    // Attempt to perform first request initialization 
    FirstRequestInitialization.Initialize(context); 
} 

* 我可以永久应用重定向的代码? *

if (app.url.ToString().ToLower().Contains("http://www.informarea.it/BlogEngine")) 
{ 

    HttpContext.Current.Response.Status = "301 Moved Permanently"; 

    HttpContext.Current.Response.AddHeader("Location",url.Replace("http://www.informarea.it/blogengine", "http://www.informarea.it")); 

} 

有人能帮助我吗? 非常感谢 法布里

回答

0

这应该重定向任何查询的路径以/ BlogEngine开始与/ BlogEngine删除相同的网址。

if(Request.Url.PathAndQuery.StartsWith("/BlogEngine", StringComparison.OrdinalIgnoreCase)) { 
    Response.RedirectPermanent(Request.Url.PathAndQuery.Substring(11), true); 
} 

优点:

  • 给出了一个301重定向像你要求
  • 保持路径和查询字符串的完整以下要求

缺点休息:

  • 需要.net 4.0(第2版。 BlogEngine的7个目标是4.0,所以我不认为这会是一个问题。)