Редирект 301 в htaccess

Недавно у меня появилась необходимость со страниц одного сайта сделать перенаправление на другой. Причем не всех страниц (что проще), а половины.

Если у вас возникла такая же или похожая ситуация, то вам поможет Redirect 301.

Редирект представляет собой перенаправление пользователей с одного веб-сайта на другой, которое происходит автоматически.

При этом не стоит путать 301 и 302 редирект. 301-ый сообщает поисковым системам, что старый адрес больше не используется, а 302-ой говорит о том, что URL временно не используется, и может когда-нибудь снова появиться.

Redirect 301

Как сделать 301 Редирект

Если ваш сайт (как и большинство) работает на web-сервере Apache, то можно сделать переадресацию через коды скрипта файлов текстовой конфигурации: htaccess или httpd.conf. Чаще используется файл htaccess, переадресацию я делала с его помощью, и поэтому рассмотрим его подробнее.

  1. Итак, первым делом мы заходим в панель управления сайтом (cPanel). И идем в «Диспетчер файлов».
  2. Находим нужную нам папку с сайтом и ищем среди файлов .htaccess.
  3. Открываем его с помощью редактора исходного кода.
  4. Теперь в этот файл текстовой конфигурации нужно прописать следующее:

Options +FollowSymLinks

RewriteEngine on

Тем самым мы включим модули: Apache mod_rewrite и ReWriteEngine в модуле mod_rewrite. Также это можно сделать в php.ini.

Естественно, это всё можно сделать на локальном компьютере с помощью блокнота, а затем скопировать содержание в файл .htaccess.

Существует несколько типов сценариев переадресации. Рассмотрим их.

301 редирект с одной страницы на другую

Для этого нужно вставить следующую строчку в файл .htaccess. Внимание: вы прописываете свой сайт!

Redirect 301 /staraya-stranica.html http://domen.ru/novaya-stranica.html

Например, «перенесем» на этот сайт страницу «vsem-privet».

Redirect 301 /vsem-privet http://stacyblog.ru/vsem-privet

Если ваши страницы с префиксом, то прописываем его, если нет (как у меня), то нет.

Минус этого способа в том, что нужно прописывать каждую страницу, если их у вас много.

301 редирект всех файлов на другой адрес

Если вы не переименовывали директорию, то ставим код:

RedirectMatch 301 ^/staroe-nazvanie/ http://stacyblog.ru/staroe-nazvanie/

Если же переименовывали, то:

RedirectMatch 301 ^/staroe-nazvanie/ http://stacyblog.ru/novoe-nazvanie/

301 редирект с одного домена на другой

Когда переносим сайт с одного доменного имени на другое, то используем код:

RedirectMatch 301 ^(.*)$ http://stacyblog.ru

 301 редирект с домена без www на домен с www

Если вы хотите перенести домен stacyblog.ru на www.stacyblog.ru, то нам нужно:

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]

RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

Редирект 301 с www на без www

Для переноса www.stacyblog.ru на stacyblog.ru нужно:

RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]

RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Теперь вам осталось только протестировать сайт и проверить всё ли правильно работает.

1 Comment

  1. Редирект 301 или  301 Permanent Redirect это правило, которое автоматически переадресовывает пользователя на другой адрес страницы. С его помощью вы можете склеить старые страницы с новыми или перенести сайт на другой домен, убрать многие дубли с сайта и многое другое. Крайне полезная вещь поэтому нужно научиться делать его правильно!

Оставьте ответ

Ваш email не будет отображаться.


*