Fix Blog » Blog Archive » htaccess 301

htaccess 301

Тема 301 редиректа постоянно обсуждается в различных SEO-форумах, да и каждая поисковая система в своей системе помощи имеет специальные разделы. Пока разбирался я нашел перечисленные ниже варианты организации редиректа, часть из которых опробовал у себя.

301 редирект это наилучший метод сохранения ваших позиций в поисковых системах, когда вы переносите страницу или сайт. Код "301″ интерпретируется как постоянное перемещение ("moved permanently").

1. Простой редирект (в файле .htaccess или httpd.conf для Apache):
Redirect 301 / http://www.you.com/new.htm
где:
Redirect 301 – это инструкция, говорящая что страница перемещена
/ – означает, что все с верхнего уровня сайта, включая все подкаталоги, будет переадресовано
http://www.you.com/new.htm – новая страница или сайт (не забывайте поставить последний "/", если переадресация идет на сайт).

Чтобы переадресовать только страницу, сохранив PR старой страницы:
Redirect 301 /old/old.htm http://www.you.com/new.htm
где:
/old/old.htm – путь и имя старой страницы

Аналогичный синтаксис для переадресации сайта:
RedirectPermanent / http://www.you.com/
Пример переадресации каталога:
RedirectPermanent /old-directory http://www.domain.com/new-directory/

Например, зашедших в test переадресуем на www.test.com, остальных на enter.test.com (порядок следования записей важен):

Redirect permanent /test    http://www.test.com/
Redirect permanent /        http://enter.test.com/

Примечание: для моих целей (изменение домена) хватило первого варианта простого 301 редиректа.
2.Использование mod_rewrite (прописывается в файле .htaccess):

Ставшая классической задача слияния имена сайта с www и без него, решается так:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite\.com
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=permanent,L] .

или альтернативный синтаксис:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

Обозначение [R=301,L] означает: перенаправить клиента и отправить ему код статуса 301 (R=301) и сделать это правило последним (L).

Редирект старого домена на новый:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Например, если необходимо чтобы вместо rewrite.htm загружался файл rewrite.html, добавьте в .htaccess:

RewriteEngine   on
RewriteBase     /
RewriteRule     ^rewrite\.htm$  rewrite.html [R=permanent]

Для замены всех .htm файлов .html файлами:

RewriteEngine  on
RewriteBase     /
RewriteRule     ^(.*)\.htm$  $1.html [R=permanent]



This entry was posted on Среда, Апрель 14th, 2010 at 6:39 пп and is filed under Note. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Я не спаммер.