2012-03-08 84 views
0

我最近完成了将域wwwroot中的一个非常大的ASPDotNetStorefront站点(多个页面/ URL)转移到一个子域。如何将所有.aspx URL重定向到子域上的新位置

对于搜索引擎优化的原因,我想自动301重定向任何&所有以“.aspx”结尾的OLD URL到其在子域上的新位置。 (所有的路径是相同的,除了现在在子域,而不是被的wwwroot)

实施例: OLD URL = “http://www.mysite.com/c-2-some-product-page.aspx”

DESIRED NEW URL =“http://store.mysite.com/c-2-some-product-page.aspx”

我需要一些东西来检查请求的页面是否以.aspx结尾,然后重定向到“商店”子域。还应当确保所请求的旧页面URL不存在

这个网站是一个Windows主机上运行,​​AppliedI.net

感谢这么多

+0

欢迎来到SO。我们不为你写代码。当你被困住时,我们会帮助你。请问具体问题。 – Shoban 2012-03-08 05:36:04

+0

@Shoban你确定你选择了合适的理由吗? ''很难说出这里提出的问题,这个问题含糊不清,含糊不清,不完整,过于宽泛,或者说修辞,并且不能以目前的形式合理地回答。“我认为OP已经提出了一个完全合理的问题。这是可以回答的,而且毫不含糊。 – 2012-03-08 05:58:30

+0

这个问题有足够的信息,所以我不想把它关闭为“不建设性”..然后它看起来也不像题目。我不知道选哪一个。抱歉 – Shoban 2012-03-08 07:16:41

回答

0

我想你想尝试像这在你的global.asax文件中

// Untested, but the concept is there. 
private void Application_BeginRequest(Object source, EventArgs e) 
{ 
    if (HttpContext.Current.Request.Url.ToString().ToLower().StartsWith(
     "http://www.mysite.com/")) 
    { 
     HttpContext.Current.Response.Status = 
      "301 Moved Permanently"; 
     HttpContext.Current.Response.AddHeader("Location", 
      Request.Url.ToString().ToLower().Replace(
       "http://www.mysite.com/", 
       "http://store.mysite.com/")); 
    } 
} 
相关问题