2010-10-28 2 views
2

Я слышал, что если у вас есть два URL-адреса для вашего сайта, то есть http://yoursite.com и http://www.yoursite.co м, это влияет на ваш рейтинг SEO и страницы. Вместо этого нужно сделать постоянную переадресацию от http:// до http://www. Это верно?Постоянная переадресация в ASP.NET 4.0

Теперь я видел все статьи, показывающие, как это сделать в IIS. Однако у меня нет доступа к IIS.

Может ли кто-нибудь сказать мне, как это делается в коде или каком-либо другом методе, и как это сделать?

ответ

1

внутри global.asax вы можете использовать что-то подобное:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if (!(Request.Url.AbsoluteUri.ToLower().Contains("www"))) 
    { 
     Response.RedirectPermanent(Request.Url.AbsoluteUri.Replace("http://", "http://www.")); 
    } 
} 
+0

Response.Redirect будет использовать код состояния 302, тогда как если бы вы сделали это в основном, но с Response.RedirectPermanent (см. Мой ответ), он будет правильно перенаправлен с 301. – nizmow

+0

@nizmow отредактирован для использования RedirectPermanent –

+0

Спасибо. Поэтому, если я это сделаю, у нас не будет штрафа. Мой сайт за последние 2 года. – Goliath

2

Полный домен перенаправляет как тот, который вы упоминаете лучше всего сделать на уровне IIS, но если вы не в состоянии настроить IIS вас может использовать Response.RedirectPermanent, который является новым в ASP.NET 4.0. Это будет перенаправлено с кодом статуса 301 (постоянный) вместо кода статуса 302 (перемещенного объекта), используемого стандартным Response.Redirect.

Что вы МОЖЕТЕ сделать, это поместить что-то в ваш Global.asax «Application_BeginRequest», который проверяет, какой URL-адрес используется, и потенциально использует Response.RedirectPermanent для перенаправления на ваш желаемый URL. Это немного взломать, но я полагаю, что это сработает.

+0

Когда постоянные поисковые системы переадресации обновляют свой кеш ссылок, поэтому, если 301 возвратится при попытке получить доступ к вашему сайту и перенаправлен на сайт www.yoursite.com, он обновит индексированные ссылки, где, как если бы он возвращал 302, он не будет обновлять индексы – DSharper

Смежные вопросы