301 редирект в файле htaccess — детальная инструкция по применению
Содержание:
- Генератор редиректов
- Делаем 301 редирект с помощью файла .htaccess
- Правила настройки Redirect, RewriteRule и RewriteCond
- Автоматическое JavaScript-перенаправление на другую страницу
- Что такое редирект
- Правильный 301 редирект на новый домен
- Авторская схема: бесплатный редирект ссылки на uCoz
- Альтернативные методы переадресации
- Один (а не два последовательных!) 301 редирект на без www и с слешем на конце адреса страницы
- Почему так происходит?
- 301 Редирект с помощью скриптов
- Полезные советы
- Примеры перенаправлений
- Различные коды перенаправления и их значение
- Зачем настраивать редирект
- МЕНЮ
- Зачем редирект арбитражнику?
- Как сделать редирект URL-адресов с помощью mod_rewrite Apache
Генератор редиректов
В завершении нудного теоретического блока приведу генератор редиректа, который позволит без ошибок сгенерировать код для нужного вам типа редиректа. Хотя, для тех, кто внимательно читал, все и так предельно понятно)
На самом деле, инструментов на этот случай великое множество (в том числе — плагины для CMS). Так как все они делают они одно и то же, приведу только один пример: 301 Redirect Code Generator
301 Redirect Code Generator — онлайн генератор кода редиректа
Пожалуй, дополнительные комментарии тут излишни: просто вводите адрес страницы-донора (опционально), страницы-акцептора, выбираете подходящий тип редиректа, жмете кнопку «Generate Code» и будет вам счастье)
Делаем 301 редирект с помощью файла .htaccess
Для установки 301 редиректа, нам понадобится файл .htaccess. Этот файл, генерируется многими движками сайтов. Он находится в корневой папке вашего сайта. На движке wordpress, путь к нему следующий: заходите на свой хостинг, заходите в папку public html → Ваш сайт, и находите файл .htaccess. Открываем его для редактирования, и перед закрывающим </IfModule> вставляем выбранный код, с основным зеркалом без www или же с www, сохраняем.
Кода для вставки:
301 редирект без www
301 редирект с www
Ниже показан пример, как вставлять код. Ваш файл может незначительно отличаться от наведенного ниже мной файла, так как у вас может быть другая версия wordpress, и некоторые другие моменты.
(картинка кликибельна)
P.S: Вы считаете статья хорошая? Посоветуйте ее своим друзьям, ниже есть кнопки нужной вам соц.,сети. Подписывайтесь на новые материалы сайта, я вышлю вам их еще горячими
Правила настройки Redirect, RewriteRule и RewriteCond
Существует несколько директив, с помощью которых совершается перенаправление пользователя.
Директива Redirect в htaccess
Синтаксис:
Стандартное перенаправление, которое используется чаще всего. В скобках вместо status необходимо указать код редиректа: 301 или 302. Страница «oldpage» должна быть прописана в формате без указания полного адреса сайта, но с указанием полного относительного адреса URL начиная со слэша «/», то есть нужно указать именно корень сайта.
Адрес «newpage» прописывается полностью, то есть с названием домена и протокола http или https.
Пример:
Пример:
Директива RewriteRule
Синтаксис:
Директива RewriteRule диктует правила перехода на новую платформу. Если проводится внешний редирект, URL меняется в строке браузера — «». При внутреннем редиректе URL не меняется — «» или «».
Директива RewriteCond
Синтаксис:
Директива RewriteCond задает условия, при которых будут выполняться правила RewriteRule. Такими условиями могут стать браузер, IP-адрес, заголовок и т.д.
Автоматическое JavaScript-перенаправление на другую страницу
Если нужно автоматически перенаправить пользователя с одной страницы (URL1) на другую страницу (URL2), можно использовать следующий код:
window.location.href = 'URL2';
Необходимо вставить приведенный выше код на первую страницу (URL1). Замените URL2 на нужный адрес страницы. Лучше поместить этот код внутри элемента <head> (а не в нижней части страницы), чтобы страница перенаправлялась до того, как браузер начинает ее отображать.
СОВЕТ: Если вы используете встроенный JavaScript (т.е. без внешнего файла .js), не забудьте поместить код JavaScript в теги <script></script>.
Перенаправление на другую страницу через X секунд
В этом примере мы будем осуществлять js редирект на другую страницу через некоторое время после загрузки страницы. Например, если нужно перенаправить посетителя на главную страницу после отображения страницы приветствия в течение 5 секунд:
setTimeout(function(){ window.location.href = 'homepage-url'; }, 5 * 1000);
Необходимо вставить приведенный код JavaScript на странице приветствия. Не забудьте заменить homepage-url на URL-адрес домашней страницы.
Мы использовали метод setTimeout, чтобы указать скрипту выполнить перенаправление через 5 секунд (умножаем 5 на 1000, чтобы преобразовать секунды в миллисекунды).
СОВЕТ: В JavaScript значения времени всегда рассчитываются в миллисекундах.
Перенаправление на другую страницу, исходя из условия
Например, можно выполнить перенаправление в зависимости от браузера посетителя (хотя это не рекомендуется), размера экрана, времени суток, или другого условия.
Используйте следующий код для перенаправления посетителей, которые удовлетворяют определенному условию:
if (CONDITION) { window.location.href = 'redirect-url'; }
Например, этот код перенаправляет посетителей на другую страницу, если ширина их экрана меньше 600 пикселов:
if (screen.width < 600) { window.location.href = 'redirect-url'; }
Перенаправление на другую страницу на основе действий пользователя
Последний пример демонстрирует, как перенаправить посетителя, основываясь на его действиях. Вы можете привязать js редирект к любому типу действия пользователя. В данном примере для простоты мы будем обрабатывать нажатие кнопки.
Следующий код будет перенаправлять посетителя на целевую страницу после нажатия на #mybutton:
document.getElementById('mybutton').onclick = function() { window.location.href = 'redirect-url'; };
Можно сделать то же самое, используя следующий код:
<button onclick="window.location.href = '/'">Go to Homepage</button>
Также можно связать перенаправление с любым событием или действием пользователя. Только не забудьте удостовериться, что ваши редиректы не вызовут разочарования пользователей.
Я попытался рассмотреть все возможные случаи js редиректа на другую страницу. Если я когда-либо столкнусь с другими сценариями, я добавлю их в эту статью.
Вадим Дворниковавтор-переводчик статьи «Redirect to Another Page with JavaScript»
Что такое редирект
Для чего нужен редирект? Основная функция для перенаправление посетителей с одного сайта на другой (с одной страницы на другую).
Причиной этому могут служить разные обстоятельства, например смена раскрученного домена, арбитраж трафика, работа с партнерскими программами.
Суть работы редиректа следующая — пользователь набирает один адрес сайта, нажимает ENTER, и попадает на совершенно другой сайт.
Давайте рассмотрим следующие виды редиректа:
- header-редирект средствами PHP — 301, 302-й редирект (разница между ними).
- Редирект средствами .htaccess (и модуля mod_rewrite, который используется при этом).
- Простейший JavaScript — редирект с помощью doсument.location
- META-REFRESH — редирект с помощью meta-тэгов
- JavaScript-редирект с задержкой через setTimeout (например для учёта Метрикой).
- Iframe/Frameset — «псевдо» редирект через фреймы (например для прохождения модерации в Яндекс.Директе).
Редирект — перенаправление
Правильный 301 редирект на новый домен
Этот пункт я выделил отдельно, т.к. он больше связан с переносом на другой домен. Тут есть важный момент, это не упустить директиву по правке роботса — она указана на 3 строке кода.
RewriteCond %{REQUEST_FILENAME} robots.txt$ RewriteRule ^(+) $1 RewriteCond %{HTTP_HOST} ^site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1 RewriteCond %{HTTP_HOST} ^www.site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1
С помощью таких не хитрых махинаций мы избавимся от дублей страниц, тем самым улучшив нашу внутреннюю оптимизацию и соответственно качество сайта.
Если у вас появились какие-то вопросы, пишите в комментарии — будем разбираться
Авторская схема: бесплатный редирект ссылки на 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 мониторит ваш сайт и действия пользователей с ним и, в случае, если активности нет (подробнее читайте Условия использования), то сайт отключают.
Активности пользователей, по понятным причинам, не будет, т.к. все они перенаправляются на другой ресурс.
Выход один: следите за почтой и своевременно восстанавливайте свои сайты. Именно по этой причине, я использую данную схему только для тестов.
Альтернативные методы переадресации
- Редирект 302. Применяется в случае временной переадресации с одного url на другой. При его использовании поисковая система индексирует все доступные версии сайта или страницы. Объединения ссылочного веса и внутренних метрик на приоритетном ресурсе не происходит.
- 307 Temporary Redirect рекомендуется применять в исключительных случаях. Например, при техническом обслуживании сайта, когда он недоступен некоторое время.
- Обновления Meta Refresh выполняют переадресацию не на уровне сервера, а непосредственно на сайте. Пользователь сталкивается с временной задержкой (обычно около пяти секунд), после чего для перехода на нужную страницу должен принудительно запустить определенную команду. Этот метод часто приводит к падению посетительского интереса и проседанию поисковых индексов.
- Редирект rel=«canonical». Позволяет сохранить доступ посетителям ресурса к контенту дублирующихся страниц. При этом для поисковиков наличие команды canonical на одной из страниц говорит о том, что только она подлежит индексации в поиске.
В большинстве случаев постоянная переадресация является более правильным решением, чем временная. На практике это объясняется просто. Предположим, сайт сменил доменную зону, а затем еще и обзавелся защищенным протоколом https. При настройке временной переадресации в индексе Яндекса и Google по одним и тем же запросам появились три версии сайта с пропорциональным проседанием позиций в выдаче. После настройки редиректа 301 на приоритетный url произошло склеивание дублей, робот вернул сайт в топ выдачи.
Не рекомендуется использовать постоянный редирект при временном переносе сайта или наличии серьезных проблем со старым доменным именем. Если адрес забанен или попал под поисковую фильтрацию, смена дислокации с применением переадресации не поможет избавиться от этих ограничений.
Один (а не два последовательных!) 301 редирект на без www и с слешем на конце адреса страницы
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1/
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://%1/$1/
Почему так происходит?
Дело в том, что поисковые сайты являются машинами, которым необходимо четко проиндексировать все ресурсы. Склеенные сайты затрудняют эффективность быстрой индексации, что, в свою очередь, снижает отлаженность их работы.
Наиболее опасны в этом контексте сайты, которые индексируются роботами, при этом направляя пользователя на тот ресурс, с которого происходит редирект. Но поисковые системы не всегда однозначно негативно воспринимают скрепленные сайты. Речь о функции 301-редирект.
Редирект-301 является услугой на уровне сервера. Он составляет исключение среди других аналогичных функций, поскольку практически все поисковые системы воспринимают его дружественно. В частности, крупнейший поисковый ресурс Google, который используют чаще всего, благосклонно перенаправляет услугой редиректа 301 на нужную страницу.
Причина успешного взаимодействия редиректа-301 с поисковыми ресурсами в том, что он коренным образом отличается от аналогичных услуг по оптимизации. Он составлен таким образом, что функционирует понятно для робота, коим является поисковая система. Редирект перенаправляет на нужный URL страницы однократно и окончательно.
Влияние 301-го редиректа на seo продвижение
Если вы решили перенаправить старые ссылки на новые, по средствам 301-й ошибки (moved permanently), вам возможно будет интересно узнать следующее:
1. При 301 редиректе происходит склейка адресов. Роботы поисковых систем и пользователи, открывающие сайт в браузере, перенаправляются на новую страницу с новым адресом, автоматически.
2. При склейке адресов, новый url получает полный вес страницы, ссылочную массу и такие значения, как ТИЦ.Подобный редирект — это наилучшее решение при переносе сайта на новую систему управления контента, если вы не хотите потерять позиции и рейтинг сайта. Мой seo-блог использует несколько видов 301 редиректа для перенаправления.
Собственно, давайте разбираться в вариантах сделать редирект (переадресацию) правильно.
301 Редирект с помощью скриптов
Очень многие осуществляют редирект с помощью скриптов. Небольшая подборка для разнообразия.
15. ASP редиректы
17. ASP.NET редирект
18. ColdFusion редирект
19. JSP (Java) редирект
20. CGI PERL
Также существуют разные рекомендации от поисковых систем, для реализации 301 редиректа. Я рекомендую использовать рекомендации Google, в которых очень подробно изложены рекомендации о том, как правильно настроить 301 редирект.
Для размещения 301 переадресации на серверах Apache, достаточно изменить, как описано выше файл .htaccess. Если вы не понимаете, как это работает и незадачливые символы в описании выше для вас большая загадка — обратитесь к хостинг-провайдеру или напишите вопрос в комментария.
Полезные советы
- Современные браузеры по умолчанию используют кеширование для редиректов. Чтобы проверить работу редиректа необходимо очистить кеш в браузере или использовать любой сторонний сервис по проверке кода ответа сервера.
- Нежелательно создавать цепочки редиректов. При медленной работе сервера это вызовет недовольство пользователя. Поисковые роботы также не любят последовательные редиректы — вес исходной страницы может не передаться.
- При составлении файла .htaccess простые директивы должны идти раньше сложных, которые распространяются на весь сайт. Такая компоновка будет более удобной при работе с файлом и поможет избежать путаницы.
Примеры перенаправлений
RedirectMatch 301 ^/blog/about /blog/about.html
Redirect /index.html /new/
Redirect /index.html /default.html
Redirect /private/ https://www.example.com/private/
Убедитесь, что другой сайт является вашим собственным. Никогда не делайте горячих ссылок на файлы с других сайтов.
Redirect /img/logo.gif https://www.example.com/images/logo.gif
Если вы хотите использовать регулярное выражение для перенаправления чего-либо, используйте директиву RedirectMatch:
RedirectMatch "^/oldfile\.html/?$" "https://example.com/newfile.php"
Вы также можете перенаправлять ошибки 404. Вместо того чтобы выводить страницу 404, вы перенаправляете на домашнюю страницу сайта.
ErrorDocument 404 https://example.com/
Этот пример перенаправляет файлы из старой директории в новую директорию . Файл должен существовать в новой директории.
RewriteRule ^blog/archives/(.*)$ /newarchives/$1
Различные коды перенаправления и их значение
Существует несколько различных типов перенаправлений. Они классифицируются по кодам HTTP, которые им назначены:
- 301 – означает, что страница была перемещена навсегда, и теперь ее новую версию можно найти по другому адресу. SEO показатели веб-страницы при этом сохраняются на 90%.
- 302 – страница перемещена временно. Исходный URL-адрес в настоящее время недоступен. SEO-показатели веб-страницы не сохраняются.
- 303 – используется только в веб-формах, чтобы запретить пользователям повторную отправку данных (при использовании кнопки «Назад» в браузере).
- 307 — аналогично 302, но для HTML 1.1. Это означает, что ресурс был временно перемещен.
- 308 — постоянная версия кода 307.
Зачем настраивать редирект
Есть несколько основных причин перенаправлять пользователя на другой URL. Давайте рассмотрим их подробнее.
Для указания главной версии сайта
Возможно, вы замечали, что адрес одних сайтов начинается с https, а других — с http. Также иногда в адресе указан префикс www, а иногда его нет. Выбор протокола и решение использования www перед основным доменом определяют главное зеркало ресурса. Это основная версия сайта, на которую перенаправляют всех пользователей, если они вводят в строку поиска альтернативный вариант URL-адреса.
В этом случае редирект необходим для избежания проблем с дублями контента. Что такое дубли страниц и почему это плохо, можно почитать в нашей статье.
Для решения проблемы дублей
Дубли страниц возникают не только из-за разных протоколов и префикса www в URL-адресе, но и по ряду других технических причин. Также иногда дублируется сам контент — страницы-копии обычно удаляют, а с них настраивают редирект.
Давайте рассмотрим еще несколько сценариев, когда для устранения технических дублей используют переадресацию.
Перенаправление при добавлении завершающего слеша
Когда вы вбиваете адрес страницы в строку поиска, то скорее всего не добавляете слеш в конце. Иногда браузер сам «дописывает» его к URL-адресу — происходит это благодаря редиректу. Как и в случае с протоколом и www, вебмастеру нужно определиться, будут ли на сайте использоваться завершающие слеши, чтобы избежать проблем с дублями.
Ниже мы адаптировали схему, которой аналитик Google Джон Мюллер поделился в своем аккаунте Twitter.
Как вы видите, иногда завершающие слеши приводят к дублированию, а иногда нет. Например, в варианте F и G можно легко получить дублированный контент.
Решить проблему можно двумя способами: использовать тег canonical либо установить перенаправление на нужный вам вариант страницы.
Перенаправление при использовании расширения файлов в URL
Иногда в конце адреса страницы указывается расширение файла, например, .html, .htm, .php, .aspx. Чтобы пользователь, вбивая в строку поиска URL вида https://site.com/page/, все равно попал на страницу https://site.com/page.html и чтобы избежать дублирования контента, используется перенаправление.
Перенаправление URL-адреса в нижний регистр
Один и тот же URL-адрес, прописанный в верхнем и нижнем регистре, — это две разные страницы. Правило хорошего тона — использовать в URL нижний регистр. Поэтому чтобы адрес вида https://site.com/PAGE/ был доступен только как https://site.com/page/, также применяется перенаправление. Естественно, редирект здесь нужен и для того, чтобы предотвратить проблемы с дублями.
Для сохранения ссылочного веса и трафика при смене URL
URL-адрес страницы может поменяться по разным причинам: после миграции на новую CMS, в ходе изменения структуры сайта или в процессе борьбы с дублированным контентом. В результате вы получите страницу с новым адресом, которая отвечает на тот же запрос пользователя, что и старая страница. Редирект позволяет не только перенаправить трафик на актуальную страницу, но и сохранить вес внешних ссылок, указывающих на старый адрес.
Например, вы использовали страницу https://site.com/festivals-2020/, но в конце года решили обновлять контент страницы и публиковать на ней все фестивали следующего года. Чтобы убрать из URL-а прошлый год, вы решаете создать новую страницу https://site.com/festivals/. Эта страница будет постоянно обновляться и содержать контент, который ранее публиковался на странице https://site.com/festivals-2020/. Чтобы избежать каннибализации, вы принимаете решение удалить старую страницу https://site.com/festivals-2020/ и перенаправить трафик и ссылочный вес на новую страницу https://site.com/festivals/.
При миграции на другой домен либо покупке другого сайта зачастую нужно перенаправлять ботов и всех пользователей старого сайта на новый. В таком случае, как вы уже догадались, также используется редирект.
МЕНЮ
Панель иконокЗначок менюАккордеонВкладкиВертикальные вкладкиЗаголовки вкладокВкладки полностраничныеВкладки при наведенииВерхняя навигацияОтзывчивый верхний навигаторНавигация с иконкамиМеню поискаСтрока поискаФиксированная боковая панельАнимированные боковые панелиОтзывчивая боковая панельПолноэкранная навигация наложенияМеню Off-CanvasБоковые кнопки навигацииБоковая панель с иконкамиМеню с горизонтальной прокруткойВертикальное менюНижняя навигацияОтзывчивая нижняя навигацияГраницы навигацииМеню по правому краюСсылка меню по центруМеню равной шириныФиксированное менюСкольжение вниз по полосе прокруткиСкрыть меню при прокруткеУменьшить меню при прокруткеЛипкая навигацияНавигация на изображенияВыпадающее менюВыпадающий при кликеВыпадающее меню в навигацииВыпадающий список в боковой навигацииОтзывчивая навигация с выпадающимПодменю навигацияВсплывающее менюМега менюМобильное менюМеню занавесСвернуть боковой барСвернуть боковую панельПагинацияХлебные крошкиГруппа кнопокГруппа вертикальных кнопокЛипкий социальный барНавигация таблеткиОтзывчивый заголовок
Зачем редирект арбитражнику?
Наконец, подходим к главному вопросу: почему все арбитражники (здесь небольшой ликбез по арбитражу трафика, если кто забыл или еще не знает, чем мы тут занимаемся)) и многие вебмастера так озабочены перенаправлением трафика?
Если вы уже имели дело с CPA-сетями или даже попробовали делать спам-рассылку во ВКонтакте, то знаете не понаслышке — полить трафик на партнерку без редиректа ссылок просто не получится. И тому есть 2 причины:
ВК заботится о нашей безопасности)
2. Если в спам-рассылке использовать одну и ту же ссылку, то она станет критерием для отправки страниц аккаунтов-распространителей в бан. Дальнейшее использование ссылки становится небезопасным — аккаунты, рассылающие её будут морозить, и морозить надолго.
Есть еще один неочевидный момент, побуждающий арбитражника перебрасывать трафик — использование так называемых трекеров. Трекер — это специальное серверное ПО, дающее возможность глубокой аналитики происхождения трафика. Профессионалы применяют в обязательном порядке. Может, в будущем созрею на статью или обзор трекера.
Поэтому, если кто-то уже начал работать по моей схеме со спамом в ЛС или с получением хештег-трафика, настоятельно рекомендую дочитать эту статью до конца, тем более, что многие уже столкнулись с проблемой и озвучивали вопросы на этот счет.
Как сделать редирект URL-адресов с помощью mod_rewrite Apache
Более функциональный способ редиректа с помощью Apache — использовать его переписывающий модуль mod_rewrite. Вот несколько примеров, которые можно добавить в .htaccess или в файл конфигурации Apache.
Пример 1: Редирект с www на без www
Этот код редиректа HTML перенаправляет все www-версии URL-адресов на их эквивалентные версии без www.
<IfModule mod_rewrite.c> RewriteCond %{HTTP_HOST} ^www.example.com$ RewriteRule (.*) http://example.com/$1 </IfModule>
Это называется канонизацией. Вот несколько примечаний о регулярном выражении, используемом в этом примере:
- ^ — обозначает начало запрошенного URI;
- . — буквально соответствует точке;
- $ — обозначает конец запрошенного URI;
- — делает шаблон нечувствительным к регистру;
- (.*) — соответствует любому символу (или отсутствию символов);
- $1 — соответствует шаблону из круглых скобок (.*) в RewriteRule;
- — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.
Пример 2: Редирект всего домена
Чтобы осуществить редирект HTML с текущего домена на новый:
<IfModule mod_rewrite.c> RewriteRule ^/(.*) https://new-domain.tld/$1 </IfModule>
Аналогично можно перенаправить запросы из поддомена текущего сайта на поддомен на новом сайте:
<IfModule mod_rewrite.c> RewriteCond %{HTTP_HOST} (.*).old-domain.tld RewriteRule ^/(.*) https://%1.new-domain.tld/$1 </IfModule>
Вот несколько примечаний о регулярном выражении, используемом в этом примере:
- ^ — обозначает начало запрошенного URI;
- (.*) — соответствует любому символу (или отсутствию символов);
- $1 — соответствует шаблону из круглых скобок (.*) в RewriteRule;
- %1 — соответствует первому шаблону из круглых скобок (.*) в RewriteCond
- — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.
Обратите внимание: чтобы любой из этих методов работал корректно, оба домена должны иметь одинаковую структуру файлов. Папки и ресурсы на текущем домене также должны существовать и на новом домене
В противном случае вы получите на новом домене кучу ошибок 404.
Пример 3: Перенаправление всех файлов HTML и PHP
Вот еще один, более сложный пример скрипта редиректа HTML mod_rewrite:
<IfModule mod_rewrite.c> RewriteCond %{REQUEST_URI} ^/old-directory/(.*).(html|php)$ RewriteRule (.*) http://example.com/new-directory/%1.%2 </IfModule>
Мы перенаправляем все запросы к любым файлам HTML или PHP, расположенным в папке /old-directory/. Все соответствующие запросы перенаправляются в тот же файл, который находится в /new-directory/. Вот несколько примечаний о регулярном выражении, используемом в этом примере:
- ^ — обозначает начало запрошенного URI;
- (.*) — соответствует любому символу (или отсутствию символов);
- . — буквально соответствует точке;
- (html php) — соответствует либо html, либо php;
- — делает шаблон нечувствительным к регистру;
- %1 — соответствует первому шаблону из круглых скобок (. *) в RewriteCond;
- %2 — соответствует второму шаблону из круглых скобок (html|php) в RewriteCond;
- — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.