Редирект в wordpress
Содержание:
Редирект с протокола http на https.
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1
Если возникает циклический редирект, то воспользуйтесь этим вариантом:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
Для Битрикс-сайтов на хостинге reg.ru
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}
Для сертификатов https c Cloudflare:
RewriteCond %{HTTP:CF-Visitor} ‘»scheme»:»http»‘
# Without Cloudflare:
# RewriteCond %{HTTPS} off
RewriteRule ^ https://www.example.com%{REQUEST_URI}
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
RewriteEngine on
RewriteCond %{HTTP:HTTPS} !on
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Один (а не два последовательных!) 301 редирект на c www и со слешем на конце адреса страницы
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1
Зачем нужен .htaccess и где его искать
Файл нужен для более гибкой настройки сервера под задачи оптимизатора. Задавать правила в .htaccess не стоит, если у вас есть доступ к главному конфигурационному файлу сервера .httpd.conf или apache.conf (название зависит от настроек операционной системы). Изменения в нем вступают в силу быстрее, запросы не перегружают сервер. Однако очень часто такого доступа нет, например, в случае с виртуальным хостингом. Тогда приходится прописывать нужные настройки через .htaccess.
Возможности .htaccess для оптимизации сайта:
- Настройка редиректов для SEO.
- Обеспечение безопасности ресурса в целом и отдельных разделов.
- Настройка корректного отображения сайта.
- Оптимизация скорости загрузки.
Где искать и как редактировать
Если файл .htaccess находится в корневой папке, действие команд распространяется на весь сайт, но разместить его можно в любой каталог. Тогда директивы будут касаться только конкретного каталога и подкаталогов. Таким образом, на ресурсе может быть несколько файлов .htaccess. Приоритет имеют команды файла, расположенного в каталоге, а не в корне.
.htaccess — общепринятое и самое популярное название, но не обязательное (оно задается в файле httpd.conf). Несмотря на непривычное название, создавать и редактировать файл можно в любом текстовом редакторе.
Некоторые CMS дают возможность редактировать файл через административную панель. В Битриксе его легко можно найти в разделе Контент — Файлы и папки:
В WordPress редактировать .htaccess можно с помощью модулей плагинов Yoast SEO и All in One SEO Pack.
Если файл .htaccess отсутствует, создайте его в текстовом редакторе и разместите в корневой папке сайта или в нужном каталоге (потребуется доступ к хостингу или по ftp).
Как сделать редирект
Для генерации редирект-кодов существуют специальные онлайн-сервисы. При недостаточном количестве знаний или опыта каждый веб-программист сможет воспользоваться такой помощью. Также посредством использования онлайн-генератора можно выявить ошибку в коде, созданном самостоятельно.
Наиболее популярными площадками, предлагающими услуги генерации редиректов, являются:
http://www.rapidtables.com/web/tools/redirect-generator.htm

Независимо от того, был ли использован автоматически созданный код или прописанный вручную, необходимо после каждого изменения редиректа проверять сайт на работоспособность. Для этого, помимо посещения главной страницы, следуют зайти в разделы и «побродить» еще и там.
Возможности редиректа 301
301 редирект страницы используется при осуществлении целого ряда операций с сайтом и его содержимым.
Он поможет:
- «склеить» два сайта в один;
- перенести показатели ТИЦ старого сайта и PR его страниц на новый адрес;
- сфокусировать выдачу определенного сайта в результатах поиска, без учета в URL-адресе наличия или отсутствия «www»;
- добавить или удалить слеши в ссылке;
- перенаправить с одного файла на другой при смене его расширения и т.д.
Процесс «склейки» двух доменов осуществляется путем создания кода редиректа 301. Для этого в корневой папке сайта необходимо найти файл с расширением .htaccess и прописать в нем специальный код. Также потребуется настроить зеркала сайта — указать в файле robots.txt, какой из сайтов главный. Это делается при помощи команды host.
с www на без www
RewriteCond %{HTTP_HOST} ^www.site\.com$
RewriteRule ^(.*)$ http://site.com/$1
с без www на с www
RewriteCond %{HTTP_HOST} ^site\.com$
RewriteRule ^(.*)$ http://www.site.com/$1
После склеивания поисковики получат информацию о том, что сайт переехал на новый домен, и удалят старый адрес из своих каталогов. Но следует быть готовым к тому, что новый URL может быть проиндексирован по прошествии некоторого времени (вплоть до месяца). Иногда поисковики индексируют новый сайт не полностью, а только некоторые его страницы.
При нахождении нового сайта на субдомене, который по тем или иным причинам не закрыт от индексации, можно перенаправить его адрес непосредственно на домен. Для этого в коде редиректа необходимо прописать адрес необходимого домена. Этот же код используется и при определении главенствования между несколькими площадками в разных доменных зонах.
Наличие или отсутствие в адресе сайта символа «слеша» в конце, так же, как и «www» в его начале, имеет значение для индексации поисковиками.
Например, адрес сайта выглядит так semantica.in. Возможные варианты этого адреса (semantica.in/, www.semantica.in, www.semantica.in/) браузер пользователя воспримет корректно и автоматически преобразует в правильную версию.
Поисковики же в предложенных вариантах увидят три различных сайта и будут индексировать их именно как отдельные веб-единицы. Через некоторое время все-таки произойдет автоматическое распознавание вариантов этого сайта и склеивание его версий в одну. Но до того момента индексация будет осуществляться неправильно и шанс сайта поднять свои показатели не будет реализован в полной мере.
Удаление слеша
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$
RewriteRule ^(.*)(/)$ $1
Добавление слэша
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/
При появлении в адресе страницы нескольких слешей или дефисов можно переориентировать ее на страницу с правильным адресом, прописав его в коде редиректа 301 и задав правило преобразования URL.
Во избежание такой ситуации следует прописать редирект для всех страниц сайта, подогнав их адреса под единый принятый веб-мастером канон. Для того чтобы убрать или добавить слеш в конце URL также существует специальный код с участием 301-ого редиректа.
Склеить слеши
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2
Склеить дефисы
RewriteCond %{REQUEST_URI} ^(.*)--(.*)$
RewriteRule . %1-%2
Для постоянного перенаправления с одной страницы сайта на другую используется код редиректа 301, в котором указывается адрес старой и новой страниц.
Redirect 301 /page.html http://www.semantica.in/newpage.html
Редирект, в котором будут указаны возможные варианты адресов главной страницы, перенаправит пользователей и поисковики на каноническую ее версию.
При переходе сайта со статической на динамическую версию или при смене движка, целесообразным будет оставить все адреса в существующем виде, изменив только расширения. Для этого существует код, в котором прописываются прошлые и нынешние значения расширений.
RedirectMatch 301 (.*)\.html$ http://www.site.com$1.php
Иногда возникает необходимость «перевезти» сайт на новый домен. Чтобы сделать это не потеряв показатели ТИЦ и PR, а также сохранив ссылочную массу и объем страниц, следует прописать редирект 301 для каждой из страниц старого сайта. В корневой папке старого сайта в файле robots.txt проставляется директива host, которая указывает на адрес нового домена.
Может пригодиться: продвижение хостела — найдем решение подходящее именно вам! Семантика
Проверка редиректа
Так же, вы можете воспользоваться одним из онлайн-сервисов, которые позволяют просмотреть правильность выполнения редиректа. Например, Redirect Checker. Для выполнения проверки вам нужно:
- 1.Перейти на страницу онлайн-сервиса по этой ссылке
- 2.В поле для ввода указать адрес, с которого должно осуществляться перенаправление в формате http://имя-сайта.ру .
- 3.А затем нажать на кнопку «Analyse».
В результате сервис вам выдаст отчет о правильности работы перенаправления. В моем случае редирект работает не правильно:

Перенаправление вроде бы как происходит, но это происходит несколько раз, и почему то происходит не 301 редирект, а 302. Насколько я поняла, это называется циклический редирект, и такого быть не должно. Поэтому мне нужно пробовать другие варианты.
Так же, вы можете проверить правильность выполнения редиректа для конкретной поисковой системы. Для этого, перед нажатием на кнопку «Analyse», нужно выбрать из выпадающего списка название нужного поискового робота:

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

Я надеюсь, что данная статья поможет вам правильно настроить редирект для HTTPS –протокола и осуществить переход на SSL-сертификат с наименьшими потерями. Если данная статья вам понравилась, делайте репост в социальные сети и подписывайтесь на мою рассылку. Желаю вам успешного переезда и до встречи в следующих статьях.
С уважением Юлия Гусарь
Когда лучше не использовать 301 редирект?
- Когда 301 редиректы не могут быть реализованы, или их внедрение займет слишком много времени
- Дублированный контент, но вы хотите сохранить обе страницы для людей (например, показывать на разных урлах разный размер одежды)
- Страницы с несколькими разными url по сути одной страницы (например, сортировки каталога, отслеживания партнерских ссылок, …)
- Кросс-доменов, когда оба сайта похожи, но похожий контент нужно оставить на каждом из доменов.
Итого
В общем оба варианта позволяют сохранить ссылочный вес, и они будут аналогично рассматриваться Google. Но в целом, 301 редирект является более предпочтительным методом.
Причины появления скрытого редиректа
Веб-мастер сам так настроил
Иногда веб-мастера сами настраивают переадресацию мобильных посетителей на сторонние сайты. Например, если сайт служит им для заработка на продаже мобильного трафика через партнерские программы WAP-click. Такой заработок против правил поисковиков и чреват вылетом из индекса.
Скрипт ворует трафик, веб-мастер не в курсе
Нелицензионные CMS, бесплатные виджеты и подозрительные скрипты небезопасны, через них трафик может утекать на вредоносные сайты без ведома веб-мастера. Например, это могут быть элементы для показа рекламы или монетизации контента.
Злоумышленники взломали сайт
Веб-мастер снова будет не в курсе, но трафик могут перехватить злоумышленники, которые взломали сайт и настроили редирект на нужные им площадки для воровства личных данных или денег с банковских карт.
Настраиваем редиректы для SEO
Как мы уже упоминали, это самый популярный способ использования .htaccess. Перед тем, как настраивать тот или иной вид переадресации, убедитесь, что это действительно необходимо. Например, редирект на страницы со слешем в некоторых CMS настроен по умолчанию. О настройках редиректа для SEO мы писали в блоге.
При настройке 301 редиректов помните о двух правилах:
- Избегайте нескольких последовательных перенаправлений — они увеличивают нагрузку на сервер и снижают скорость работы сайта.
- Располагайте редиректы от частных к глобальным. Например, сначала переадресация с одной страницы на другую, затем общий редирект на страницы со слешем. Это правило работает не в 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» на старый и новый домен соответственно.
Как настроить 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
- В списке выберите нужный домен.
- В поле «Перенаправляет на» пропишите его с префиксом http://.
- Поставьте отметку у «Перенаправлять только с www»
На домен с www
- В списке выберите нужный домен.
- В поле «Перенаправляет на» пропишите его с префиксом http://www.
-
Поставьте отметку у «Не перенаправлять www»
Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы
RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1
Принцип работы
В HTTP, перенаправление вызывается при отправке сервером специального ответа на запрос: redirects. HTTP перенаправление, это ответы с кодом статуса. Когда браузер получает ответ перенаправления, он использует новый предоставленный URL-адрес и немедленно загружает его: в большинстве случаев переадресация невидима для пользователя, за исключением небольшого влияния производительность.
Есть несколько типов перенаправлений и делятся на три категории: постоянные, временные и специальные перенаправления.
Эти перенаправления призваны длиться вечно. Они подразумевают, что оригинальный URL-адрес больше не должен использоваться, а вместо него должен быть использован новый. Поисковые роботы запускают обновление связанного URL-адреса для ресурса в своих индексах.
| Код | Текст | Обработка метода | Случаи использования |
|---|---|---|---|
|
методы неизменны. Другие методы могут быть превращены в . |
Реорганизация веб-сайта. | ||
| Метод и тело запроса неизменны. | Реорганизация веб-сайта, с не-GET ссылками/операциями. |
Спецификация не была намерена разрешать изменение метода, но на практике, клиентские приложения делают это. Код был создан чтобы избавиться от неоднозначности в поведении, при использовании не- методов.
Иногда, доступ к запрашиваемому ресурсу не может быть предоставлен из определённого места, но может быть предоставлен из другого. В этом случае, могут быть использованы временные перенаправления. Поисковые роботы не запоминают новую, временную ссылку. Временные перенаправления также используются, когда создаются, обновляются, или удаляются ресурсы, которые представляют временные страницы.
| Код | Текст | Обработка метода | Случаи использования |
|---|---|---|---|
|
методы неизменны. Другие методы могут быть превращены в . |
Веб-страница недоступна по непредвиденным причинам. В этом случае поисковые роботы не будут обновлять свои ссылки. | ||
|
методы неизменны. Другие превращены в (тело запроса теряется). |
Используется для перенаправления после или для предотвращения обновления страницы, что может спровоцировать повторный вызов операции. | ||
| Метод и тело запроса неизменны. | Веб-страница недоступна по непредвиденным причинам. В этом случае поисковые роботы не будут обновлять свои ссылки. Лучше чем код когда не-GET ссылки/операции доступны на сайте. |
Спецификация не была намерена разрешать изменение метода, но на практике, клиентские приложения делают это. Код был создан чтобы избавиться от неоднозначности в поведении, при использовании не- методов.
В добавок к обычным перенаправлениям, есть 2 специальные. Перенаправление с кодом (Not Modified) перенаправляет страницу к локальной закешированной копии (которая была устаревшей), и перенаправление с кодом (Multiple Choice) это ручное перенаправление: тело, представленное браузером, как веб-страница, перечисляет возможные перенаправления и пользователь выбирает одно из них.
| Код | Текст | Случаи использования |
|---|---|---|
| Не так много: варианты перечислены на HTML странице. Может быть обслужен со статусом . | ||
| Обновление кеша: означает, что значение кеша все ещё актуально и может быть использовано. |
Обеспечиваем безопасность сайта
Файл .htaccess предоставляет большие возможности для защиты сайта от вредоносных скриптов, кражи контента, DOS-атак. Также можно защитить доступ к определенным файлам и разделам.
5. Запрещаем загрузку картинок с вашего сайта
Существуют технологии, при которых сторонние сайты используют контент, в том числе изображения, загружая его прямо с вашего хостинга путем хотлинков (прямых ссылок на файлы). Это не только обидно и нарушает авторские права, но и создает ненужную дополнительную нагрузку на ваш сервер.
Осадите воришек при помощи этого кода:
Заменяете «mysite.com» на адрес вашего сайта и создаете изображение с любым сообщением о том, что красть чужие картинки нехорошо, по адресу . Это изображение и будет показано на стороннем ресурсе.
6. Запрещаем доступ
Целым группам нежелательных гостей с определенных IP-адресов, подсетей, а также вредоносным ботам можно запретить доступ на ваш ресурс при помощи следующих директив в .htaccess.
Для нежелательных User Agents (ботов)
Список юзер-агентов можно дополнять, сокращать или создать свой. Перечень хороших и плохих ботов можно посмотреть здесь.
Частный случай такого запрета — запрет для поисковых роботов. Если вас почему-то не устраивает правило в robots.txt, можно запретить доступ, например, роботу Google при помощи таких директив:
Для подсети
Вписываем маску сети в строку после «deny from».
Спамные IP-адреса можно вычислить в логах сервера или с помощью сервисов статистики. В административной панели WordPress отображаются IP-адреса комментаторов:
К определенному файлу
Вписываем название файла вместо «myfile.html» в примере. Пользователю будет показана ошибка 403 — «доступ запрещен».
Не лишним будет ограничить доступ к самому файлу .htaccess из соображений безопасности, а также рекомендуем после настройки всех правил поставить на файл права доступа 444.
Для сайтов на WordPress важно ограничить доступ к файлу wp-config.php, т.к. в нем содержится информация о базе данных:
Для пользователей, пришедших с определенного сайта
Вы можете заблокировать посетителей с нежелательных ресурсов (например, со взрослым или шокирующим контентом).
7. Защищаем доступ к определенному файлу или папке
Для начала создайте файл .htpasswd, пропишите в нем логины и пароли в формате user:password и разместите в корне сайта. В целях безопасности пароли лучше зашифровать. Это можно сделать при помощи специальных сервисов генерации записей, например, такого. Следующим шагом добавьте директории или файлы в .htaccess:
Защита паролем папки
Вместо «/pub/home/.htpasswd» укажите путь до файла .htpasswd от корня сервера. Рекомендуем проверить доступ после установки кода.
8. Запрещаем выполнение вредоносных скриптов
Следующая группа директив защищает сайт от так называемых «скриптовых инъекций» — инструмента хакерских атак:
Все попытки причинить вред вашему ресурсу будут перенаправлены на страницу ошибки 403 «доступ запрещен».
9. Защищаем сайт от DOS-атак
Один из способов защиты — ограничить максимально допустимый размер запроса (ограничение отсутствует по умолчанию).
Для этого прописываем в .htaccess размер загружаемых файлов в байтах:
В примере указан размер 10 Мбайт. Если вы хотите запретить загрузку файлов, пропишите число меньше 1 Мбайт (1048576 байт).
Также можно изучить возможности директив LimitRequestFields, LimitRequestFieldSize и LimitRequestLine в официальной документации.
Редирект (redirect) это

Редирект (redirect) — это переадресация посетителей с одной страницы на другую. При этом переадресация может происходить как внутри сайта, так вне (со своего сайта в чужой).
Рассмотрим пример для понимания. Допустим, вы создали свой блог и долгое время публиковали в нем шедевральные обзоры. Людям они нравились и поэтому они оставляли ссылки на них в других сайтах (формировали ссылочную массу). Со временем, вы обнаружили, что часть страниц с некрасивым url адресом, например, вида «2222-11-11-11-11» (дата и время). Поэтому решили, что неплохо бы изменить адрес на более привычный для интернета (хотя бы транслит), чтобы посетителям было проще ориентироваться (ну и для сео оптимизации это полезно).
Однако, если просто изменить адрес, то возникнет следующая ситуация. Ссылки на других сайтах, ведущие на редактируемую страницу, станут бесполезными. Во-первых, вместо обзора будет возникать 404 ошибка (адрес не найден). Во-вторых, из-за этого по ссылкам не будет передаваться вес в полноценном объеме. В-третьих, такие ссылки будут постепенно удалять (см. во-первых).
Плюс к этому, хоть сам текст страницы не изменился, поисковые системы будут считать ее недавно добавленной и, соответственно, ниже ранжировать.
Чтобы избежать подобных проблем и применяется редирект, который информирует браузер и поисковые системы, такие как Яндекс и Google, что страница перемещена и расположена по другому адресу.
Цепочки редиректов
Что это и почему это плохо?
Цепочка редиректов — это перенаправление не в один, а в больше, чем 2 шага. Специалисты спорят про их вредность: не сильно вредными называют до 5 переходов, так как поисковые роботы способны по ним перейти.
Для эффективного продвижения сайта цепочек не должно быть на сайте вообще. Цепочка редиректов может привести к циклическому редиректу, если некорректно его настроить. И это негативно скажется на поисковой выдаче. Причиной появления цепочек переходов и циклического перенаправления может быть заражение вирусами. Поисковые системы могут посчитать ваш сайт небезопасным для пользователей и препятствовать посещению.
Как найти?
Для поиска цепочек используйте чекеры или специальные сервисы. Самые популярные:
Здесь собрано много полезных инструментов для веб-мастера, в том числе и для проверки редиректов сайта. Сервис работает быстро и показывает всю цепочку редиректов, а не одно перенаправление.
Это инструмент для комплексного SEO-аудита, который позволяет также находить цепочки редиректов.
Можно смотреть цепочки редиректов, время и код ответа. Проверяет страницу на наличие ошибок сервера, доступность, успешность проведения запроса.
Позволяет увидеть всю цепочку перенаправлений. С его помощью можно убедиться, что редиректы работают правильно или на каком этапе в цепочке подхватываются cookies — они обозначаются круглым желтым значком. Сервис бесплатный.
Также для проверки можно применять расширения для браузеров:
Redirect Path для Google Chrome;
Live HTTP Header для Mozilla Firefox, Chrome.
Обнаружив цепочку перенаправлений, необходимо установить источник проблемы. Если вы сами настроили редиректы, вам следует их убрать или поменять на одиночные.
Как устранить?
Вам понадобится выяснить причину и понять, почему возникает перенаправление. Проверьте логи, действительно ли там есть эти перенаправления. Если не нашли, то поищите в основном коде подобные строки:
Если страница, на которой обнаружена перенаправление, имеет динамический адрес, который генерируется при переходе, возможно, скрипт сам генерирует и редиректы. Будьте бдительны при перезаписи URL адресов страниц, особенно используя шаблоны. Это распространенная причина цепочек и циклов перенаправления.
Важно! Стоит убрать с сайта внутренние ссылки на редиректы или заменить ссылками на доступные страницы. Чтобы увидеть входящие ссылки на такие URL, достаточно нажать комбинацию клавиш Shift+F1
Синтаксис .htaccess
Синтаксис файла простой: каждая директива (команда) начинается с новой строки, после знака # можно добавлять комментарии, которые не будут учитываться сервером. Изменения на сайте вступают в силу сразу, перезагрузка сервера не требуется.
Правила задаются в том числе при помощи регулярных выражений. Для того, чтобы их прочитать, нужно понимать значение спецсимволов и переменных. Расшифруем самые часто используемые.
Основные спецсимволы:
- ^ — начало строки;
- $ — конец строки;
- . — любой символ;
- * — любое количество любых символов;
- ? — один определенный символ;
- — последовательность символов, например, от 0 до 9;
- | — символ «или», выбирается или одна группа, или другая;
- () — иcпользуется для выбора групп символов.
Основные переменные:
- %{HTTP_USER_AGENT} — поле User-Agent, которое передает браузер пользователя;
- %{REMOTE_ADDR} — IP адрес пользователя;
- %{REQUEST_URI} — запрашиваемый URI;
- %{QUERY_STRING} — параметры запроса после знака ?.
Для тех, кто хочет основательно погрузиться в тему, — полная официальная документация по использованию .htaccess или хороший ресурс на русском. А мы пройдемся по основным возможностям файла для оптимизации вашего сайта.
Заключение
Еще раз поздравляю тех, кто дочитал до конца! К сожалению, схема с uCoz перестала работать. Честно сказать – метод не самый надежный и этого стоило ожидать рано или поздно. Тем не менее, я не зря делаю акцент на редиректе. Большинство доменов CPA-сетей под фильтром у ВК. Это значит, что при переходе по такой ссылке, пользователь увидит от ВК предупреждение вида: “Ссылка на подозрительный сайт”. Чуть позже напишу, как я делаю надежные платные редиректы. Если работаете с трафиком – не забудьте ознакомиться с моим мануалом по продвижению в ВК и другими материалами блога.
С вами был Игорь Кантор. Надеюсь, что статья оказалась для вас полезной. Подписывайтесь на мой Телеграм-канал https://t.me/casecollector – впереди еще много огненного материала! Всем профита!)