Как перенаправить все URL-адреса .aspx в их НОВОЕ местоположение на поддомене - PullRequest
0 голосов
/ 08 марта 2012

Недавно я завершил перенос очень большого сайта ASPDotNetStorefront (много страниц / URL-адресов) из домена wwwroot в поддомен.

По причинам SEO, я хочу автоматически 301 перенаправить все & все старые URL, которые заканчиваются на «.aspx», на их новое местоположение на поддомене. (Все пути одинаковы, за исключением того, что теперь они находятся в поддомене вместо wwwroot)

Пример: СТАРЫЙ URL = "http://www.mysite.com/c-2-some-product-page.aspx"

НУЖНЫЙ НОВЫЙ URL = "http://store.mysite.com/c-2-some-product-page.aspx"

Мне нужно что-то, что проверит, заканчивается ли запрашиваемая страница в .aspx, а затем перенаправляет на поддомен "store". Также следует убедиться, что запрошенный URL старой страницы не существует

Этот сайт работает на хосте Windows, AppliedI.net

Большое спасибо

1 Ответ

0 голосов
/ 08 марта 2012

Я думаю, вы хотите попробовать что-то подобное в вашем файле 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/"));
    }
}
...