Работа с перенаправлениями при выпуске нового сайта - PullRequest
1 голос
/ 23 февраля 2012

Я нахожусь на грани освобождения / замены сайта для клиента.Мне интересно, как лучше всего работать с перенаправлениями со старых (более не существующих) страниц на новую эквивалентную страницу (другой URL).

Пример:

site.com/product/page.aspx следует перенаправить на site.com/newstructure/stuff.aspx

Я ищу надежный центральный способ обработки всех этих перенаправлений (301: с).

Создание путей для старых страниц и просто перенаправление оттуда не является действительно хорошим решением.Могу ли я использовать для этого URL-сопоставления в Web.config?Должен ли я использовать global.asax?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Чтобы не потерять свою позицию в 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

0 голосов
/ 23 февраля 2012

Я бы предложил использовать модуль перезаписи URL, а затем настроить правила. Ваши URL, вероятно, не будут совпадать, поэтому вам придется отображать их вручную (в любом случае, гораздо лучше сделать это вручную, так как это самый надежный способ).

Если вы ищете модуль, взгляните на приведенный ниже URL. http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

В зависимости от того, под каким IIS вы его используете, может потребоваться найти другую версию модуля перезаписи.

Надеюсь, это поможет.

...