Файл .htaccess

Содержание:

Примеры использования 301 редиректа

Редирект с index.php на главную

Чтобы настроить его вам нужно прописать в вашем файле следующий код, который будет перенаправлять посетителей с адреса site.ru/index.php на site.ru:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP
RewriteRule ^index\.php$ http://site.ru/ 

Если вам так же нужно сделать переадресацию с index.html, то просто в коде выше замените .php на .html

Склеиваем алиасы сайта

Если у вас несколько доменов и вы хотите все их перенаправлять на основной сайт, то используем:

RewriteCond %{HTTP_HOST} ^vash-sait.com$ 
RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ 
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ http://vash-sait.ru/$1 

Обратите внимание на первые 2 строки, там указано зеркало в зоне .com, если у вас иная или несколько зон, то добавляем правила

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

Этот способ я уже описывал ранее, но повторюсь. Для того, чтобы склеить зеркала и выбрать основным домен без www прописываем:

RewriteCond %{HTTP_HOST} ^www.site\.ru$ 
RewriteRule ^(.*)$ http://site.ru/$1 

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

Это действие противоположное предыдущему, только основное зеркало здесь www.site.ru:

RewriteCond %{HTTP_HOST} ^site\.ru$ 
RewriteRule ^(.*)$ http://www.site.ru/$1 

301 редирект страниц со слэшем и без

Это еще один вид дублей, тут мы склеим страницы site.ru/category/ и site.ru/category, как видите, в конце второго урла не стоит слэша:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 

Если вам нужно наоборот оставить слэш в конце урла, то вам нужен данный вариант:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ 

Если у вас по какой-то причине появились урлы типа site.ru/category//article.html, то юзаем код:

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 

где, «//» можно заменить на «—» или любые сдвоенные символы в урле.

Массовая замена категории

Бывает, что вы переименовали категорию, а за ней закреплены тысячи урлов. Чтобы не состарится во время написания тысяч одинаковых перенаправлений юзаем:

RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 

Если у вас категория идет сразу после домена (типа site.ru/category/), то используем другой вариант:

RewriteRule old-category /(.*) / old-category /$1 

Редирект на новую страницу

Самый простой редирект со страницы на страницу, для это просто пропишите так:

Redirect 301 /old-post.html http://new-site.ru/new-post.html

Где old-post.html — это ваша старая страница, а new-site.ru/new-post.html — это новая страница и она может быть на любом домене (включая ваш текущий домен).

Редирект для url с параметрами

Страницы с параметрами редиректятся сложнее, возьмем пример http://site.ru/page.php?sort=articles. Параметр здесь «sort=articles». Код будет следующим:

RewriteCond %{QUERY_STRING} sort=articles
RewriteRule .* http://site.ru/page.php? 

Работаем с расширениями

Убираем .html из url (для удаления .php не забудьте заменить $1.html на $1.php):

RewriteRule ^((+/)*+)$ /$1.html 

Меняем .php на .html в урлах и наоборот (не забываем поменять местами в коде):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Как настроить 301 редирект

Джон Мюллер предупреждает, что Google может не проиндексировать конечную страницу, если не соблюсти все правила. Нужно использовать канонический тег, внутренние ссылки и при необходимости тег hreflang для конечной страницы, а не той, с которой вы перенаправляете пользователя. Иначе Google получит неправильные сигналы и может не проиндексировать конечную страницу.

Настроить переадресацию можно через панель управления вашим хостингом или вручную средствами HTML, PHP, JavaScript.

В настройках конкретного хостинга обычно подробно описано, как сделать редирект через панель управления. Для разных CMS есть специальные плагины для редиректов. Разберем способы для настройки вручную на примере редиректа на сайт с www или без него.

Редирект для Nginx

Для серверов под Nginx нужно использовать файл nginx.config, добавьте код в секцию server. Если вы настроили виртуальные хосты, для каждого хоста нужно редактировать файлы отдельно.

С домена с www на домен без www

server {#...
    if($host~ * www\.(.*)) {
        set $host_without_www $1;
        rewrite ^ (.*) $ http: //$host_without_www$1 permanent;
    }#...
}

С домена без www на домен с www

server {#...
    if($host~ * ^  + \. + $) {
        rewrite ^ (.*) $ $scheme: //www.$host$1 permanent;
    }#...
}

После изменения nginx.config перезапустите nginx с помощью команды «service nginx restart». Проверить, все ли корректно заполнено, можно через команду «nginx -t».

Редирект для Apache

Если вы используете Apache, вам нужен файл .htaccess. Для доступа есть несколько вариантов:

  • Используйте FTP и включите отображение скрытых файлов. Найдите .htaccess в каталоге public_html в папке с названием домена.
  • Откройте панель управления хостингом, включите отображение скрытых файлов и найдите его через Диспетчер файлов.

Скачайте .htaccess, добавьте код редиректа и загрузите файл заново. Если файла .htaccess нет, его нужно создать.

На домен без www

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.ru$ 
RewriteRule ^(.*)$ <a href="https://site.ru/https://site.ru/$1" class="redactor-autoparser-object">https://site.ru/https://site.ru/$1</a> 

На домен с www

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) <a href="http://www.site.ru/http://www.site.ru/$1" class="redactor-autoparser-object">http://www.site.ru/http://www.site.ru/$1</a> 

Редирект через PHP

Действует на уровне сервера. Лучше использовать другой способ, потому что этот работает медленно. Через PHP перенаправление настраивают для сайтов, где редирект нужен на многих, но не на всех страницах.

Файл index.php расположен в корневой папке. Скачайте его и добавьте код или отредактируйте прямо в диспетчере файлов в панели управления хостингом.

На домен без www

<!--?php
header("Location: http://site.ru/", true, 301);
exit();
?-->

На домен с www

<!--?php
header("Location: http://www.site.ru/", true, 301);
exit();
?-->

Редирект через HTML

Редирект через HTML-код медленнее, он работает на стороне браузера. Код нужно добавить между тегами и страницы, с которой нужно перенаправить. В параметре content=»» указывают задержку по времени.

На домен без www

<meta http-equiv="refresh" content="0; url=http://site.ru/">

На домен с www

<meta http-equiv="refresh" content="0; url=http://www.site.ru/">

Редирект через JavaScript

Редирект настраивают и с помощью JavaScript, он работает на стороне браузера, как и HTML. Это медленный способ и не сработает, если у пользователя в браузере отключен JavaScript. Его обычно настраивают для редиректов с задержкой, если такое требуется.

Код для редиректа нужно добавить между и в код первой исходной страницы.

На домен без www

<script type="text/javascript">
    window.location.replace("http://site.ru/");
</script>

Для задержки:

На домен с www

<pre><script>
    window.location.replace("http://www.site.ru/");
</script></pre>

Через cPanel

cPanel — это платная панель управления веб-хостингом. В ней тоже можно настроить редиректы, причем не используя вводы кодов. Во вкладке «Домены» есть раздел «Перенаправления», там нужно настроить редирект.

На домен без www

  1. В списке выберите нужный домен.
  2. В поле «Перенаправляет на» пропишите его с префиксом http://.
  3. Поставьте отметку у «Перенаправлять только с www»

На домен с www

  1. В списке выберите нужный домен.
  2. В поле «Перенаправляет на» пропишите его с префиксом http://www.
  3. Поставьте отметку у «Не перенаправлять www»

Альтернативные способы указания перенаправлений

HTTP перенаправления это не единственный способ переадресации. Есть ещё два метода: HTML перенаправления используют элемент , и JavaScript перенаправления используют DOM.

HTTP перенаправления более предпочтительный способ создания перенаправлений, но, иногда, у веб-разработчиков нету контроля над сервером или возможности настроить его.  Для таких особых случаев, разработчики могут создать HTML страницу с элементом  и установить атрибуту значение  в блоке . Когда страница отображается, браузер найдёт этот элемент и перейдёт на указанную страницу.

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

Очевидно, этот метод работает только с HTML страницами и не может использоваться для изображений или другого типа контента.

Заметьте, что перенаправления не позволяют работать должным образом кнопке «Назад» в браузере: вы можете вернуться на страницу назад, но мгновенно будете перенаправлены на страницу с которой пришли.

Перенаправления в JavaScript создаются установкой значения свойства  и новая страница загрузиться.

Как и HTML перенаправления, этот тип не будет работать на всех ресурсах, и очевидно, что работает только на стороне клиента, который выполнит JavaScript. С другой стороны, вы можете вызвать перенаправление, только тогда, когда исполнится определённое условие.

При использовании трёх возможных способов URL перенаправления, некоторые методы могут быть вызваны одновременно, но какой из них будет примёнён первым? Порядок приоритетов следующий:

  1. HTTP перенаправления всегда выполняются первыми, пока ещё страница даже не была передана,  и конечно же, пока ещё не прочитана.
  2. HTML перенаправления () выполняются только, если перенаправление не было в выполнено в HTTP.
  3. JavaScript перенаправления используются как последняя возможность перенаправления, и работают только если разрешено выполнение JavaScript на клиентской стороне.

Используйте HTTP перенаправления, когда это возможно, и не используйте элемент . Если разработчик изменяет HTTP перенаправление и забывает изменить HTML перенаправление , тогда они больше не идентичны, и закончится это вечным циклом или другим ночным кошмаром.

Способ 3. Простейший javascript-редирект.

Разница этого редиректа в том — что сначала в браузер загружается страничка HTML — потом после её загрузки происходит редирект. Может ощущаться некоторая задержка с появлением «белого экрана» в момент редиректа — в этом небольшой минус перед header-редиректом. Не сработает на компьютерах/браузерах, где отключен javascript. Соответственно REFERER виден именно тот, где был код редиректа (т.е. сама страничка с кодом будет как источник перехода).

Оформляется так (в секции <body> или <head>):

<script >
document.location = ‘//leonov-do.ru/’;
</script>

Если на страничке установлен код Яндекс.Метрики — он скорее всего не успеет сработать и засчитать посетителя, т.к. подобный редирект срабатывает быстрее метрики.

Настраиваем редиректы для SEO

Как мы уже упоминали, это самый популярный способ использования .htaccess. Перед тем, как настраивать тот или иной вид переадресации, убедитесь, что это действительно необходимо. Например, редирект на страницы со слешем в некоторых CMS настроен по умолчанию. О настройках редиректа для SEO мы писали в блоге.

При настройке 301 редиректов помните о двух правилах:

  1. Избегайте нескольких последовательных перенаправлений — они увеличивают нагрузку на сервер и снижают скорость работы сайта.
  2. Располагайте редиректы от частных к глобальным. Например, сначала переадресация с одной страницы на другую, затем общий редирект на страницы со слешем. Это правило работает не в 100% случаев, поэтому с размещением директив нужно экспериментировать.

1. Настраиваем постраничные 301 редиректы

Это потребуется в следующих случаях:

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

Просто удалить страницу — плохая идея, лучше не отдавать роботу ошибку 404, а перенаправить его на другой URL. В этом случае есть шанс не потерять позиции сайта в выдаче и целевой трафик. Настроить 301 редирект с одной страницы на другую можно при помощи директивы простого перенаправления:

  • — адрес страницы от корня, без протокола и домена. Например, .
  • — полный адрес страницы перенаправления, включая протокол и домен. Например, .

2. Избавляемся от дублей

Каждая страница сайта должна быть доступна только по одному адресу. Для этого должны быть настроены:

  • редирект на страницы со слешем в конце URL или наоборот;
  • главное зеркало — основной адрес сайта в поиске.

Сделать это можно при помощи модуля . В его составе используются специальные команды — директивы сложного перенаправления. Первой командой всегда идет включение преобразования URL:

Переадресация на слеш или наоборот

Настроить ли переадресацию на страницы со слешем или без, в каждом случае нужно решать индивидуально. Если у сайта уже накоплена история в поиске, анализируйте, каких страниц в индексе больше. Для новых сайтов обычно настраивают редирект на слеш. Проверить, не настроена ли переадресация по умолчанию, просто: удалите/добавьте слеш в конце URL. Если страница перезагрузится с новым адресом — мы имеем дубли, требуется настройка. Если URL подменяется — все в порядке. Проверять лучше несколько уровней вложенности.

Код 301 редиректа на страницы без слеша:

3. Настраиваем главное зеркало

Для начала нужно определиться, какой адрес будет являться основным для поиска. SSL-сертификат давно уже мастхэв. Просто установите его и добавьте правило в .htaccess. Не забудьте также прописать его в robots.txt.

Редирект на HTTPS

Определять, с «www» или без будет главное зеркало, можно несколькими способами:

  • добавить сайт в Яндекс.Вебмастер в двух вариантах, в консоли отобразится информация, какой URL поисковик считает главным зеркалом;
  • проанализировать выдачу и посмотреть, каких страниц сайта больше в индексе;
  • для нового ресурса не имеет значения, с «www» или без будет адрес, выбор за вами.

После того как выбор сделан, воспользуйтесь одним из двух вариантов кода.

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

4. Перенаправляем с одного домена на другой

Самая очевидная причина настройки этого редиректа — переадресовать роботов и пользователей на другой адрес при переезде сайта на новый домен. Также им пользуются оптимизаторы для манипуляций ссылочной массой, но дроп-домены и PBN — серые технологии продвижения, которые в рамках этого материала мы затрагивать не будем.

Воспользуйтесь одним из вариантов кода:

или

Не забудьте поменять в коде «mysite1» и «mysite2» на старый и новый домен соответственно.

Авторская схема: бесплатный редирект ссылки на uCoz

Я хочу поделиться схемой, которую я применяю, когда срочно нужно что-нибудь затестить, а без редиректа не пускают. Данный способ абсолютно бесплатный и не требует наличия своего хостинга, сервера или сайта. Отличный способ, чтобы, например, сделать редирект для ВК.

Идея в том, чтобы использовать бесплатный конструктор сайтов. Я сделал свой выбор в пользу конструктора uCoz. Вы получаете в свое распоряжение доменное имя третьего уровня и место на сервере, где размещается ваш “сайт”. Сам сайт нас мало интересует, а вот возможность ручного редактирования HTML сайта – это именно то, что принесет нам радость.

Оффтоп: кстати, пока я писал эту статью случился фейл с этой схемой с uCoz и, я думал, что она больше нежизнеспособна! Но, немного поломав голову, я нашел лазейку и теперь все ОК)) Дальше расскажу, в чем суть.

ШАГ 1. Регистрация и создание сайта

Заходим на uCoz – попадаем на страницу регистрации:

Форма регистрации пользователя uCoz

Заполняем необходимые поля:

Создание нового сайта на uCoz

Панель создания нового сайта

Теперь, придумываете адрес сайта (имя домена третьего уровня) и выбираете доступные варианты бесплатных доменов от uCoz. Рекомендую создавать сайты с именами, релевантными продвигаемым офферам, чтобы ссылка вызывала больше доверия в лице потенциального клиента. Мой выбор был очевиден)):

Создали сайт для редиректа

Следуя приглашению, переходим в панель управления.

ШАГ 2. Вставка кода редиректа

Полпути пройдено! Осталось правильно внедрить код редиректа в новоиспеченный сайт, чтобы он стал выполнять свое темное дело.

После того, как откроется панель управления сайтом, переходим на вкладку “Дизайн”:

Переходим на вкладку “Дизайн”

Нам нужно найти шаблон главной страницы сайта. На вкладке “Дизайн” есть выпадающий список шаблонов, действующих на сайте. Выбираем шаблон с названием “Страницы сайта”:

Выбираем шаблон страницы для редактирования

Прежде, чем редактировать шаблон, убедитесь, что ваш сайт работает и доступен по адресу, который вы задавали. Я проверил свой сайт по адресу casecollector.usite.pro (на момент прочтения вами статьи, он может уже не работать, т.к. uCoz периодически требует подтверждения активности сайта, а я мог на это забить):

Проверка работы сайта uCoz

Так будет выглядеть код для перенаправления на JQuery:

Вставить данный код нужно в начало секции <body>, как показано ниже (в своем примере я делаю редирект на главную страницу Википедии) :

Вставляем код редиректа на JQuery

Сохраняем шаблон и проверяем свой сайт, введя адрес в браузере (напомню, у меня был casecollector.usite.pro). Если все сделали правильно, то откроется желаемая страница и вас можно поздравить).

Что перестало работать?

Рассказываю про свой эпик фейл. Можете взять на заметку при проработке альтернативных схем. Суть в следующем: раньше (на протяжении последних нескольких лет) я всегда прогонял ссылки для теста через uCoz, как описано выше. НО! Я всегда использовал HTML или JavaScript редиректы. Причем, предпочтение отдавал HTML, т.к. больше шансов на успех в случае блокировки JS в клиентском браузере.

Пока писал статью, uCoz изменили алгоритмы валидации кода и, когда я решил по старой схеме сделать переброс на HTML, то получил вот это:

Новый алгоритм валидации кода на uCoz

Самое печальное то, что написав редирект ссылки на JavaScript я получил ровно такой же результат! Причем, все мои старые ссылки на HTML продолжают работать. Изменения коснулись только нового редактора кода шаблонов.

Терять такую вкуснятину я никак не хотел, поэтому, перепробовал буквально всё. Сработал единственный метод – вставлять редирект ссылки на JQuery, как я описал в примере выше.

Срок жизни редиректа

Через некоторое время, после создания и публикации сайта uCoz вам на почту будут приходить сообщения следующего вида:

Уведомление о неактивности сайта

Это происходит потому, что uCoz мониторит ваш сайт и действия пользователей с ним и, в случае, если активности нет (подробнее читайте Условия использования), то сайт отключают.

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

Выход один: следите за почтой и своевременно восстанавливайте свои сайты. Именно по этой причине, я использую данную схему только для тестов.

Типы и настройка редиректов

Типы редиректов принято разделять по тому, как они реализованы. Самый популярный у SEO-специалистов метод — серверный редирект, который настраивается в файле .htaccess (конфигурационный файл наиболее распространённого сервера Apache). Кроме того, для реализации перенаправлений можно использовать файл nginx.config, а также PHP, HTML, JavaScript.

Редиректы могут иметь разный HTTP-статус. По коду состояния HTTP поисковые системы и браузеры определяют, к какому виду относится редирект. Всего есть 9 видов таких редиректов, но на практике используются три статус-кода.

2.1. 301 Moved Permanently

301 редирект — это постоянный редирект, который демонстрирует, что документ перенесён на новый URL-адрес. 301 редирект лучший вариант для оптимизации сайта под поисковые системы. Он позволяет заменить адрес документа в выдаче со старого на новый без потери позиций и трафика.

Я собрал общие случаи использования 301 редиректа.

2.1.1. Редиректы www

Вот как настроить редирект из домена с www на домен без www:

RewriteCond %{HTTP_HOST} ^www\.bacon\.com$
RewriteRule ^(.*)$ http://bacon.com/$1

А вот так можно настроить редирект URL без www в URL с www:

RewriteCond %{HTTP_HOST} ^bacon\.com$
RewriteRule ^(.*)$ http://www.bacon.com/$1

2.1.2. Изменение расширения файла

Если вы перешли на другую платформу или CMS, и в этом процессе были изменены только URL-адреса, вы должны использовать следующую переадресацию.

RedirectMatch 301 (.*)\.php$ http://www.bacon.com$1.html

2.1.3. Редирект с разных доменов и поддоменов

Если вы купили несколько доменов в разных доменных зонах или перепроектировали новый сайт в поддомене, вы должны установить редирект со всех дополнительных доменов или поддоменов на основной домен:

RewriteCond%{HTTP_HOST}!^www\.site\.com.(.*)$
RewriteRule ^(.*)$ http://www.site.com. %1/$1

2.1.4. Слеши в конце URL-адреса

Вы должны помнить, что поисковые системы рассматривают URL-адреса с и без слеша (https://www.bacon.com/sandwich/ и https://www.bacon.com/sandwich) как два разных URL-адреса. Определите, какой из них более подходит для вашего сайта, и настройте следующие переадресации.

Чтобы удалить слеш в конце URL-адреса:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1

Чтобы добавить слеш в конце URL-адреса:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /$1/

2.1.5. Переключение с HTTP на HTTPS

Вам необходимо установить команду для 301 редиректа на HTTPS-версию сайта. Если у вас есть WordPress CMS с управлением хостингом cPanel, вы можете прочитать подробное руководство по переходу на HTTPS.

2.1.6. Управление битыми ссылками

Если вы навсегда удалили одну из своих страниц и создали новую, установите 301 редирект на главную или новую страницу и удалите все ссылки на эту страницу на своём сайте.

RewriteRule ^old/URL/path$ http://site.com/new/path

Подробнее читайте в посте о том, как найти битые ссылки.

2.2. 302 Found, 302 Moved Temporarily

302 редирект демонстрирует, что запрошенный ресурс временно перемещён. Данный вид редиректа может быть использован для страниц с краткосрочными акциями и распродажами конкретного товара. Не рекомендую использовать его для адресов, изменённых навсегда. Роботы поисковых систем индексируют только ту страницу, на которую установлен редирект, но в выдаче останется старый URL. Однако, если робот поисковой системы решит, что вы по ошибке настроили 302 редирект вместо 301, он заменит адрес в выдаче, как и в случае с 301 редиректом. И вернуть его обратно будет проблематично.

Вы можете прописать такую директиву в файле .htaccess, чтобы установить редирект:

Redirect 302 /old.html http://localhost/new.html

2.3. 307 Moved Temporarily

Временный редирект, который указывает, что документ временно доступен по другому URL. Отличие от 302: сохранение метода передачи запроса (GET, POST), который указывает поисковикам, что кешировать документ не стоит (если нет дополнительных указаний).

Вы можете установить 307 Moved Temporarily, когда контент перемещается только временно (например, при перепроектировании). Это позволяет поисковикам понять, что ваш сервер совместим с HTTP 1.1.

Кроме того, клиенты не должны автоматически переадресовывать запросы POST / PUT / DELETE. Кэширование должно выполняться только в том случае, если в ответе сервера есть заголовки Cache-Control или Expires.

Циклы перенаправлений

Циклы перенаправлений случаются когда за успешным перенаправлением следует другое, которое уже было выполнено. Другими словами, существует такой цикл, который никогда не закончится и в конечном счёте ни одна страница не будет найдена.

В большинстве случаев это проблема сервера, и если сервер не может обнаружить её, то отправит код статуса . Если вы встретите такую ошибку вскоре после редактирования настроек сервера, то это скорее всего цикл перенаправлений.

В случае, когда сервер не может обнаружить его: цикл перенаправлений может распространиться на несколько серверов, каждый из которых не имеет полной картины происходящего. В этом случае, браузеры покажут сообщение об ошибке. Firefox выведет:

тогда, как Chrome:

This Webpage has a redirect loop

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

Важно избегать циклов перенаправлений, так как они полностью нарушают работу пользователя

Как сделать редирект через .htaccess

Чтобы сделать перенаправление 301 через .htaccess, перейдите в каталог сайта и откройте .htaccess. Если файла ещё не существует, создайте его. После этого добавьте в файл строки кода из подходящей инструкции ниже.

Обратите внимание

Кириллические домены (в зоне .РФ .РУС и др.) необходимо прописывать в коде в формате Punycode: Как перевести домен в Punycode.

301 редирект Битрикс

1С-Битрикс — популярная CMS в которой время от времени необходимо настраивать перенаправление.

Если вы хотите переадресовать домен с WWW на без WWW, укажите:

вариант 1

вариант 2

Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.

Если вам нужно сделать редирект Bitrix с домена без WWW на WWW, введите комбинацию:

Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.

Если вы хотите настроить в Битрикс редирект на другую страницу с http:// на https://, пропишите:

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

В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:

Где:

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

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

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

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

301 редирект для отдельного IP

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

301 редирект с https:// на http://

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

301 редирект с http:// на https:// для Linux

Добавьте в .htaccess код из нужного вам примера ниже:

Для всех страниц с http:// на https://

Для всех страниц с http:// на https://, в том числе и с http://www на https://

вариант 1

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

вариант 2

Если все варианты не помогли и возникает циклическая переадресация:

вариант 3

вариант 4

Перенаправление на https только выбранной страницы

В примерах ниже переадресация настраивается для страницы login.php.

вариант 1

или

вариант 2

Перенаправление на https всех страниц, кроме одной

В примере ниже редирект настраивается для страницы test.php.

301 редирект с главной страницы, кроме остальных страниц сайта

В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:

301 редирект с GET-параметрами

Если вам необходимо сделать .htaccess редирект с get параметрами, укажите:

Где site.ru — имя вашего домена.

301 редирект с массовой склейкой

Если вам необходимо сделать .htaccess редирект на index php, введите:

Где site.ru — имя вашего домена.

Внимание

Если вы выполнили все шаги инструкции, но не получили желаемого результата, это может быть связано с локальными настройками. Напишите , наши специалисты оперативно вам помогут.. Теперь вы знаете, как сделать редирект со страницы на страницу через htaccess и сможете настроить его по нашей инструкции

Теперь вы знаете, как сделать редирект со страницы на страницу через htaccess и сможете настроить его по нашей инструкции.

Когда переадресация для мобильных становится проблемой

Иногда такой редирект отправляет пользователей смартфонов не на мобильную версию того же сайта, а на другие URL — не те, которые он выбрал в выдаче. Такое может настроить сам владелец сайта, если продает трафик, а иногда это происходит без его ведома. Возможные причины разберем ниже.

Схема такая: пользователи с компьютера и смартфона видят в результатах выдачи одинаковый адрес сайта — example.com. У пользователя, который смотрит выдачу с десктопа, все в порядке: он кликает на example.com и попадает на example.com. А пользователя, зашедшего с мобильного, перекинет на другой сайт. Например, на сервис платных подписок — это называется Wapclick-редирект.

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

Такое перенаправление пользователей на сторонние ресурсы нарушает рекомендации Google для веб-мастеров и аналогичные рекомендации Яндекса.

Аудитория как минимум теряет доверие к сайту. Сайт теряет мобильный трафик и потенциальных клиентов. Когда этот редирект заметят поисковые системы, они исключат из индекса либо отдельные страницы, либо весь сайт. Проект вернется в индекс, когда владелец удалит все рекламные скрипты, а поисковик это проверит.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *