301 редирект - постоянный редирект, т.е. 301 редирект указывает на то, что страница перемещена на новый адрес, а старый URL считать устаревшим, такой редирект передает около 90-99% ссылочного веса страницы.

Далее будут описаны несколько советов и примеры 301-го редиректа с помощью файла .htaccess (кодер.укр)

  • советы по использованию приведены ...
  • и что имеем - 301 редирект: с одной страницы на другую / с www на домен без www / с домена без www на домен с www / со страниц со слешем на страницы без слеша в конце URL / со страниц без слеша на страницы со слешем в конце URL / со всех страниц одного домена на главную страницу другого домена / с каждой страницы одного домена на такой же URL адрес другого домена / с протокола http на протокол https / с протокола https на http / удаляем несколько слешей подряд в URL / удаляем подряд несколько тире (дефисов) / вырезать из URL index.php // + несколько примеров совмещения 2-х редиректов в один // + комментарии

Это чтобы один из сайтов, с или без www, был главным (например, для сайта ***.**, являющимся главным, при заходе по адресу www.***.**, автоматически перебросит на ***.**)


Короткая предыстория вопроса (joomla-school.com) ... и порядок действий:
  • - с использованием файла .htaccess 
  • в файле .htaccess, ищем в нем строчку:
  • 1.RewriteEngine On
  • а также
  • 1.Options +FollowSymLinks
  • Если они закомментированы (спереди стоит значок #), то разкомментировать их, ппотом сразу после RewriteEngine On добавитье вот такие строчки:
  • 1. RewriteCond %{HTTP_HOST} ^www\.site\.ru
    2. RewriteRule ^(.*)$ http://site.ru/$1 [R=permanent,L]
  • где site.ru - имя вашего домена
  • Не забывать про обратную наклонную черту перед точкой (.) в строке RewriteCond - она обязательна.
    Можно также ознакомиться и с другими вариантами 301 редиректа на /где-то еще/. При 301 редиректе Google должен объединять PR сайтов. Теперь сайт будет доступен и по доменному с www, так и без www, но в адресной строке будет перебрасывать на то имя, на которое настроили редирект. Этот способ называется "перенаправление с шаблоном".
  • Важно: добавляйте строчки сразу после RewriteEngine On. У меня, например, переадресация отказывалась работать, если между ними была пустая строка.У меня данный код выглядит вот так:
  • 1. Options +FollowSymLinks
    2. RewriteEngine On
    3. RewriteCond %{HTTP_HOST} ^www\.joomla-school\.com$ [NC]
    4. RewriteRule ^(.*)$ http://joomla-school.com/$1 [R=301,L]
  • То есть, у меня все ссылки с приставкой www перенаправляются на ссылки без www.Если же вы хотите, чтобы перенаправление действовало в обратном направлении ( с без www в ссылки с www, то добавьте вот такой код:
  • 1. RewriteCond %{HTTP_HOST} ^site\.ru
    2. RewriteRule ^(.*)$ http://www.site.ru/$1 [R=permanent,L]где site.ru - имя вашего домена
  • --- мое, на основе wedal.ru )
  • --- из файла .htaccess, без всяких там \ и отсутствием пробелов
  • RewriteEngine On

    ## Begin - Custom redirects
    #
    # If you need to redirect some pages, or set a canonical non-www to
    # www redirect (or vice versa), place that code here. Ensure those
    # redirects use the correct RewriteRule syntax and the [R=301,L] flags.
    #
    ## End - Custom redirects

    RewriteCond %{HTTP_HOST} ^www.my-rubbish.com
    RewriteRule ^(.*)$ http://my-rubbish.com/$1 [R=301,L]
  • мое ---
  • - с использованием плагина www Redirect -
  • * Для Яндекса дополнительно надо определить какое зеркало сайта является главным, с помощью директивы 'Host' в файле robots.txt
  • Код добавляемый в robots.txt должен выглядеть следующим образом:
  • 1. User-agent: Yandex
    2. Disallow:
    3. Host: joomla-school.com
  • Лучше будет вынести директиву 'Host' в отдельную секцию, предназначенную только для робота Яндекса (User-agent: Yandex), т.к. возможно, что другие поисковики (Google, например) могут некорректно отработать непонятную им директиву. Так же по стандартам файла robots.txt в каждой секции 'User-agent' должна присутствовать хотя бы одна директива 'Disallow', поэтому мы и поставили в коде пустую, ничего не запрещающую директиву Disallow:. Мой файл robots.txt, после добавления приведенного выше кода, стал выглядеть так:
  • 1. User-agent: *
    2. Disallow:
    3.
    4. User-agent: Yandex
    5. Disallow:
    6. Host: joomla-school.com

Еще о редиректах (не Joomla): Редирект и Файл htaccess ...

*