Быстрый редирект. Что такое редирект и как его сделать

Если вы хотите изменить URL-адрес страницы, отображаемый в результатах поиска, рекомендуется использовать переадресацию 301 (301 Permanent Redirect), выполняемую сервером. Это самый лучший способ обеспечить переход пользователей и поисковых систем на нужную страницу.

Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение.

На самом деле существует несколько редиректов. О том как сделать 301 редирект можно посмотреть на инфографике.

В каких случаях использовать редирект 301?

Использовать переадресацию 301 особенно удобно в следующих случаях:

  • При смене домена. Вы переместили свой сайт в другой домен и хотите, чтобы казалось, будто перехода и вовсе не было.
  • Для передачи новому домену Page Rank и тИЦ.
  • Для сохранения поискового трафика.
  • Пользователи могут получить доступ к сайту, используя несколько различных URL-адресов. Например, попасть на страницу можно несколькими способами: //site.ru/sub , //sub.site.ru или //www.site.ru . Бывает удобно выбрать один из этих URL-адресов в качестве канонического (основного) и использовать переадресацию 301 для перенаправления на него трафика с других URL. Для настройки можно использовать «Инструменты для веб-мастеров».
  • При объединении двух сайтов требуется, чтобы все ссылки на устаревшие страницы указывали на страницы, действующие в данный момент.
  • При переносе страницы сайта в новое место.
  • Для склейки имени сайта с префиксом www и без него.
  • Статья по теме: Корректный переезд сайта на протокол https

    301-ая ошибка (301 Permament Redirect), возвращаемая при обращении к определенному адресу страницы, означает, что сайт был на постоянной основе перенесен на новый адрес, также указанный в HTTP заголовке. Как пользователи, зашедшие через браузер, так и поисковые боты будут перенаправляться по новому адресу, при этом, для поисковиков все свойства старого адреса (страницы) будут переданы новому URL . При 301 редиректе произойдет склейка старого и нового адресов: параметры вроде PageRank и тИЦ, а также вес страницы и ссылочный вес старого адреса будет передан новому URL .

    Редирект с номером ошибки 301 (moved permanently) это наилучший способ сохранить рейтинг сайта в поисковых системах при переносе его на новый домен или смене системы управления контентом. Переадресацию можно выполнить несколькими способами, в зависимости от установленного программного обеспечения.

    301 редирект в.htaccess

    При использовании сервера Apache, переадресацию можно просто выполнить с помощью файла.htaccess , однако, при этом, не забыть включить модули mod_alias (для поддержки директив Redirect , RedirectPermanent и RedirectMatch) и/или mod_rewrite (для использования реврайта) в php.ini .

    Для этого поместите в корне папке вашего сайта файл.htaccess. Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias Redirect 301 /old-page.html //new-domain.ru/new-page.html

    Redirect permanent /old-page.html //new-domain.ru/new-page.html

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

    RedirectPermanent /old-url.html //new-site.ru/new-url.html

    Редирект с помощью директивы RedirectMatch

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

    RedirectMatch /(.*).php$ /$1.aspx

    Редирект с помощью директивы RewriteRule модуля mod_rewrite

    Для использования директивы RewriteRule необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite , а также влючена опция FollowSymLinks . Использование реврайт модуля дает много возможностей для перенаправления страниц на новые адреса.

    Статья

    Со временем количество ссылок на сайте увеличивается до объема, которым сложно управлять вручную. Сложности начинаются даже на небольших проектах, когда требуется заменить старые ссылки на другую, или же перенаправить трафик со старых ссылок на новые страницы. Ручная замена ссылок на крупных проектах – непосильный труд.

    Кроме трудностей с обслуживанием ссылок, большое количество ссылок на внешние ресурсы может повлиять и на отношение поисковых систем к вашему проекту. Закрытие ссылок в тег частично решает проблему с поисковыми системами, но не упрощает обслуживание сотен ссылок с вашего сайта.

    Решение проблем

    Основное решение проблемы – использовать систему управления ссылками, где оформлять ссылки через редирект.

    При наличии инструмента для создания и управления ссылками вы сможете заменять целевую страницу в несколько кликов. В итоге, ссылка в вашей статье остается прежнего формата – yourdomain.ru/link1 , а человек попадает уже не на aviasales.ru , а, например, на top100.aviasales.ru .

    Существует несколько способов управления партнёрскими ссылками. Ниже мы собрали все основные, и подробно рассмотрели вопрос, как переадресовать ссылку на WordPress сайте.

    Что такое редирект ссылок

    Редирект – это метод перенаправления пользователя на другую страницу в сети. Например, кликая на ссылку формата: yourdomain.ru/link1 , человек в итоге попадает на партнёрскую страницу, например, на aviasales.ru .

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

    Алгоритм работы редиректа крайне прост:

    • Пользователь переходит по ссылке.
    • Сервер или браузер обрабатывает данные, при наличии редиректа пользователь перенаправляется на указанную в настройках ссылку.

    Эта процедура происходит автоматически и моментально.

    301, 302, 307 редиректы

    Существует 10 HTTP кодов для редиректов, но востребованы только три из них: 301, 302 и 307. Рассмотрим их главные особенности.

    • 301 – постоянный редирект, указывающий на то, что перенос осуществляется навсегда. Обычно под понятием «редирект» всего сайта (при переезде на новый домен) подразумевается этот код.
    • 302 – временный редирект, указывает на то, что перенос осуществлен временно. Этот вариант идеально подходит для организации редиректа партнёрских ссылок.
    • 307 – временный редирект. Применение кода не разрешает менять метод запроса (GET/POST). На практике в работе с партнёрскими ссылками 307 и 302 коды аналогичны.
    Как сделать редирект ссылок

    Новичкам сложно разобраться с редиректами и применять их на практике. Поэтому, рассмотрим основные способы, с помощью которых реализуется редирект.

    Сокращалки ссылок

    Сокращалки ссылок – самый простой способ, как перенаправить ссылку. Вам не нужно ничего настраивать и устанавливать, достаточно воспользоваться веб-версиями сервисов-сокращалок, например:

    • https://goo.gl/ (работает до 30 марта 2019 года)

    Все примеры выше – это простые сервисы для сокращения ссылок. Такой редирект не даёт вам свободы действий, но позволяет упаковать все ссылки в единый формат, а также узнать больше статистики.

    HTML, JS и PHP скрипты

    Редирект при помощи скриптов PHP создаеёт дополнительную нагрузку на сервер, но предпочтителен, когда речь идет о большом количестве страниц. Этот вид перенаправления работает на уровне сервера.

    Редирект с использованием JavaScript работает на уровне браузера. Поскольку для срабатывания необходима полная загрузка в браузере, этот метод может быть медленнее PHP редиректа. Этот тип иногда используют для перенаправлений с задержкой. JS редирект не сработает, если в браузере у пользователя отключена функция JavaScript.

    Перенаправление с помощью HTML кода аналогично JS и работает на уровне браузера, поэтому выполняется медленнее редиректов на уровне сервера.

    WordPress плагины

    Если ресурс работает на движке WordPress, рациональнее использовать сторонние плагины. С их помощью вы сможете не только сократить ссылку, но и сделать ссылку на собственном домене, управлять редиректами и собирать статистку.

    Ниже мы рассмотрим подробнее каждый из методов редиректа и приведем актуальные примеры.

    Популярные сервисы сокращения ссылок
  • Goo.gl
  • При необходимости изменить целевую страницу, выбирайте интересующую вас ссылку и указывайте в открывшемся окне новый «Target URL». После этого прежняя ссылка будет вести на новую страницу, и вам не придется заменять ссылку на всём сайте.

    На странице «Click» по адресу: https://yourdomain.ru/wp-admin/admin.php?page=pretty-link-clicks доступно больше информации о совершенных кликах.

    Расширенные возможности

    Всё, описанное выше – это возможности бесплатной версии. Существует платная версия плагина, которая называется Pretty Link Pro. В платной версии плагина доступно:

    • Авто-замена ссылок на сайте;
    • Автоматическая расстановка ссылок на заданные слова;
    • Редирект на основе страны, где находится пользователь;
    • Проведение A/B тестов;
    • И некоторые другие функции.

    Стоимость платной лицензии на один сайт – 57 долларов в год. С купоном 10OFF цена снижается на 10%.

    – это альтернатива Shortlinks by Pretty Links. Плагин ориентирован на работу с партнёрской программой Amazon, но его можно использовать и для любых других ссылок. На сегодня более 10 000 человек используют Easy Affiliate Links для сокращения ссылок.

    Главные особенности плагина:

    • Простой интерфейс;
    • Распределение ссылок по категориям;
    • Импорт и экспорт ссылок в.XML.

    Также авторы предлагают палатные дополнения. Уже реализовано дополнение подробной статистики, в разработке находятся дополнения о специфике месторасположения кликов, A/B тестирование и отслеживание «сломанных» ссылок.

    – это плагин для редиректа на WordPress, который имеет полноценный функционал сокращения ссылок, но преимущественно используется как дополнение для плагина Jetpack , улучшая его возможности. Отслеживание статистики доступно через бесплатный плагин Google Analitycs by Yoast.

    Разработчики отмечают, что Shortlinks for Jetpack все еще находится на этапе разработки, иногда могут возникать ошибки. Обычно они исправляются в кратчайшие сроки. Поскольку это проект с открытым исходным кодом, то проблемы обычно отправляются в GitHub.

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

    • Простота использования с помощью визуального редактора;
    • Улучшенный опыт управления ссылками;
    • Безопасный редирект через 301, 302, 307 коды;
    • Добавление изображений к партнерским ссылкам;
    • Наличие статистики и отчетов.

    Присутствуют платные лицензии (PRO версия) на один, пять или безлимитное количество сайтов.

    Редирект ссылок через PHP скрипт и Javascript

    Как мы уже отметили, PHP редиректы работают быстрее JS, поэтому более популярны среди вебмастеров. Для реализации простого перенаправления необходимо добавить в файл index.php следующий код:

    $links = parse_ini_file("shortlinks.ini"); if(isset($_GET["l"]) && array_key_exists($_GET["l"], $links)){ header("Location: " . $links[$_GET["l"]]); } else{ header("HTTP/1.0 404 Not Found"); echo "Unknown link."; }

    Никакой панели управления в данном случае нет, все новые ссылки вносятся вручную в файл shortlinks.ini, который создаётся вручную. Внутри этого файла пишем, например:

    Aviasales = https://www.aviasales.ru/?marker=XXXXXX.short

    Пример демонстрирует обычный редирект ссылки на WordPress при помощи PHP скрипта. Подробнее о том, как работает данный PHP скрипт читайте по этой ссылке .

    Редирект через JavaScript задаётся кодом, размещаемым между тегами и на нужной странице. Для реализации этой задачи доступен плагин Per page add to head . Пример простого кода для редиректа на Javascript представлен ниже:

    window.location.href = "https://www.aviasales.ru/?marker=XXXXXX.short";

    Учтите, что в WordPress при едином дизайне без сторонних плагинов встроить самостоятельный Javascript код между тегами и невозможно. Поэтому вам либо придётся создавать отдельный шаблон для каждой страницы, либо использовать дополнительный плагин для интеграции кода.

    Лучшее решение для WordPress сайтов

    Создать ссылку с редиректом – это лишь половина задачи. В будущем ссылку нужно ещё и обслуживать – следить за статистикой и менять целевые страницы. Готовые решения – выглядят лучше, чем простые PHP/JS скрипты, так как позволяют сделать больше с меньшими трудностями.

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

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

    Универсальным решением является плагин Pretty Link в расширенной версии . Помимо редиректа, он позволяет в автоматическом режиме:

    • Заменить существующие ссылки на ссылки нового формата;
    • Расставить ссылки на словах, где ещё не было ссылок.

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

    Как массово заменить старые ссылки на сайте

    ВАЖНО: перед любыми действиями по массовой замене ссылок – всегда – создавайте резервную копию базы данных вашего сайта!

    Плагин Better Search Replace поможет вам с автоматической заменой старых ссылок на новые, а также с расстановкой ссылок на слова. Сегодня плагин имеет свыше 500 тысяч активных установок. Среди основных возможностей:

    • Массовая замена старых ссылок;
    • Выбор отдельных таблиц для работы;
    • «Холостой» запуск для просмотра полей, которые будут обновлены.

    С помощью плагина вы сможете обновить старые ссылки, или же разместить новые на нужных словах. Например, вы можете задать поиск по слову «авиабилеты » и в поле для замены указать:

    авиабилеты

    У этого способа есть альтернативы. Вы можете использовать как аналогичные плагины, так и внести изменения в MySQL базу данных вашего WordPress сайта через панель управления хостингом. Ещё одна альтернатива – использовать PHP скрипт «Replace DB version 3.1.0», доступный по этой ссылке . Он работает не только с сайтами на WordPress, но и с другими популярными CMS.

    При подготовке материала мы протестировали несколько популярных решений, среди которых был и плагин URL Shortener by MyThemeShop . Многообещающее описание плагина гласит, что вы бесплатно получите в одном флаконе инструмент для редиректа, управления и для массовой замены ссылок. Это решение могло стать отличной альтернативой платной версии Pretty Link Pro, но на деле плагин, к сожалению, не работает.

    Нужно ли делать редирект партнёрских ссылок

    Редирект ссылок стоит делать для удобного обслуживания собственного проекта. И чем более удобный инструмент вы выберите для обслуживания ссылок, тем эффективней будет ваша работа. Системы управления ссылками дают больше возможностей, чем ручное размещение. Например, вы в пару кликов можете провести A/B тест или , заменив целевую страницу.

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

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

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

    Вообще поисковые системы не любят редиректов, потому что не могут (по их мнению) качественно проиндексировать сайт. Исключением является 301 редирект.

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

    Для начала попробую пояснить что это такое: есть сайт например www.сайт.

    Поисковики его знают, но домен www.. Далее, ссылки на ваш ресурс с каталогов, других сайтов и пр. имет вид www.сайт.ru, а некоторые ресурсы ставят ссылку cайт.ru без www. Таким образом часть PR уходит на сайт без префикса. С помощью 301 редиректа мы склеиваем домены, перенаправляя посетителей и роботов с простого сайта на сайт с www или на оборот. Теперь поисковики видят что это один и тот же домен и весь пейджранк будет ваш.

    Так же 301 редиректом можно склеить абсолютно разные домены для повышения PR, этим методом часто пользуются не честные на руку продавцы доменов хотя склейка доменов легко вычисляется. А прямое назначение 301 редиректа является перенаправление посетителей при переносе сайта на новый домен.

    Итак узнаем что такое редирект. Англ. Redirect — перенаправление юзера на другой ресурс. Человек набирает в адресной строке один адрес сайта, а попадает на совершенно другой. Такая задача выполняестя для разных целей. Внашем случае мы рассмотрим самый популярный 301 редирект, который используется при смене ардеса страниы документа или сайта целиком. 301 означает что документ перемещен навсегда.

    скрипт редиректа

    Вообще скриптов позволяющих перенаправить юзера на другой адрес множество, рассотрим простейший редирект на java script без задержки по времени.

    document.location.href=»http://go.1ps.ru/pr/p.php?хххххх»;

    Где вместо http://go.1ps.ru/pr/p.php?хххххх пишем всой адрес куда нужно направить юзера. скрипт можно вставить как в шапку между тегами и или в тело страницы после тега

    такой метод можно использовать в случае отсутствия доступа в файлу htaccess или когда требуется установить редирект с малого количества страниц или спрятать реферальскую ссылку. В другом случае он будет неудобен. При использовании скрипта PR не передается.

    как использовать скрипт редиректа

    Этот редирект можно выполнить таким образом. Делаем страницу с расширением HTM и создаем ссылку на нее. А в теле новой htm страницы пишем скрипт редиректа в котором прописана партнерская ссылка (пример партнерской ссылки сервиса 1ps)

    таким же образом можно делать редирект с помощью метатега который прописываем в голове страницы между тегами и

    где 0 время в секундах, в нашем случае перенаправление происходит сразу. Или как описано выше, можно создать новую страницу где в хедере прописать редирект, вместо 0 прописать время например: 10 — 10 секунд, а в теле страницы пояснение тпиа: сайт переехал и через 10 секунд вы будете перенаправлены…

    .htaccess редирект

    Пример использования htaccess редиректа для склейки доменов, в нашем случае клеим сайт с www и без него

    Как сделать 301 редирект с помощью.htaccess? Для этого в файле пропишите следующие строчки:

    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^сайт

    RewriteRule (.*) http://www.сайт /$1

    Здесь идет перенаправление с сайта без префикса на сайт с www. Вместо выделенного жирным шрифтом вставьте свой адрес. Так же можете сделать .htaccess редирект наоборот, поменяв адреса сайтов в файле местами.

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

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

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

    Redirect Permanent / http://www.www.сайт (вместо моего пропишите свой адрес или полный адрес до нужной страницы) или весто Permanent пишем 301

    Конфигурационный файл .htaccess является конфигом для веб-серверов на Apache. Большинство хостингов работают через этот сервер, поэтому на каждом сайте присутствует этот файл. Вебмастера могут частично управлять его работой внося в него свои изменения. В этой статье мы рассмотрим директивы и правила, которые можно менять в работе сервера.

    Самый главный файл .htaccess располагается в корне сайта:

    Его действия распространяются на текущий каталог и на все вложенные каталоги. Т.е. у владельцев сайтов есть возможность воздействовать только на работу своего проекта, не мешая работе всего сервера. Если этот файл отсутствует, то его можно создать с помощью любого блокнота. Главное, чтобы название файла было ".htaccess" - без форматов.txt, .doc и т.д.

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

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

    Чтобы иметь возможность работать с редиректами нужно включить модуль ReWriteEngine . Для этого необходимо прописать две строчки кода (желательно в самом верху файла .htaccess ):

    Options +FollowSymLinks RewriteEngine On

    Разместите эти строки в самом верху файла .htaccess , чтобы иметь возможность работать с директивами модуля mod_write.

    Также на хостинге должны быть включены модули mod_alias (для поддержки Redirect, RedirectPermanent и RedirectMatch).

    1. Правила Redirect, RewriteRule и RewriteCond 1.1. Директива Redirect

    Синтаксис Redirect :

    Redirect /откуда http://куда_полный_адрес

    Redirect устанавливает прямой редирект с одной страницы на другую.

    В status пишут код редиректа. Является необязательным параметром. Чаще всего пишут 301, что сигнализирует о постоянном смене адреса страницы.

    Важно, чтобы страница "откуда" была прописана в формате без указания полного адреса сайта, но с указанием полного относительного адреса URL начиная со слэша "/" (т.е. с корня сайта). Страницу куда идет редирект нужно писать полностью, т.е. абсолютный адрес страницы URL (т.е. с названием домена и протокола http или https).

    Например

    Redirect 301 /oldpage.php http://site/newpage.php

    Можно также писать по другому

    RedirectPermanent 301 /oldpage.php http://site/newpage.php или Redirect permanent 301 /oldpage.php http://site/newpage.php 1.2. Директива RewriteRule

    Директива RewriteRule устанавливает правила перехода. Синтаксис следующий:

    RewriteRule Шаблон Подстановка [коды]
    • При внешнем редиректе меняется урл адреса в строке браузера - " "
    • При внутреннем - не меняет урл адреса в строке браузера - " " или "[L] "
    1.3. Директива RewriteCond

    Директива RewriteCond определяет условия при котором выполняется правила в RewriteRule.

    RewriteCond Сравниваемая_Строка Условие

    Например, этими условиями могут быть браузер пользователя, IP-адрес , заголовок и т.д.

    1.4. Директива RedirectMatch

    Директива RedirectMatch аналогична Redirect с той лишь разницей, что позволяет записывать регулярные выражения.

    RedirectMatch Откуда Куда 2. Примеры 301 редиректов в.htaccess

    Мы уже рассматривали множество примеров с редиректом по .htaccess в статьях:

    • Смена адреса сайта - редирект со старого домена на новый

    Здесь мы дополним варианты редиректов, которых еще не было.

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

    Редирект с site.ru/cat/oldpage на site.ru/newpage.html

    RewriteRule ^cat/oldpage.* /newpage.html

    Или второй вариант:

    Redirect 301 /cat/oldpage http://www.site.com/newpage.php 2.2. Редирект со всех файлов.htm на.html RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)\.htm$ $1.html

    Или второй вариант:

    RewriteRule ^(.*)\.htm$ $1.html 2.3. Редирект всего каталога на другую страницу

    С любой страницы в каталоге и подкаталогах /old/ будет происходит редирект на /new.php

    RewriteRule ^old(.*)$ /new.php 2.4. Удаление лишних слэшей в адресе URL

    Например, страница /catalog///stranica.html доступна и открывается. Чтобы избежать такой ситуации и не плодить бесконечное число дублей следует записать следующий редирект

    RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2 2.5. Реврайт без редиректа

    Можно загрузить другую страницу без смены адреса страницы URL. Например, загрузим страницу /news.html , а в адресной строке будет отображаться адрес /news/happy

    RewriteRule ^news/happy.* /news.html [L] 2.6. Простановка замыкающего слеша в конце адреса главной страница

    Например, многие сервера работают так, что последний слэш не пишется в URL. Например, http://site.ru . Ниже приведенный код решают это проблему: сайт будет открывать по http://site.ru/

    RewriteCond %{REQUEST_URI} /+[^\.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ 2.7. Удаляем директорию каталога из URL

    Например для редиректа со страницы site.com/directoriya/stranica.html на site.com/stranica.html нужно прописать следующее:

    RewriteRule ^directoriya/(.+)$ http://site.com/$1

    Или второй вариант:

    RewriteCond %{DOCUMENT_ROOT}/directoriya/$1 -f RewriteRule ^(.*)$ directoriya/$1 2.8. Редирект GET параметров

    Например, сделать редирект со страницы /?act=page&id=2 на /page-2/

    RewriteCond %{QUERY_STRING} act=page RewriteCond %{QUERY_STRING} id=(\d+) RewriteRule .* /page/%1/? ] 2.9. Редирект на мобильную версию сайта m.site.ru

    В данном примере сначала проверяется факт того, что пользователь открыл сайт с мобильного устройства {HTTP_USER_AGENT} , далее происходит замена адреса сайта на m.URL

    RewriteCond %{HTTP_HOST} ^(.*)$ RewriteCond %{HTTP_USER_AGENT} (?i:midp|samsung|nokia|j2me|avant|docomo|novarra|palmos|palmsource|opwv|chtml|pda|mmp|blackberry|mib|symbian|wireless|nokia|hand|mobi|phone|cdm|upb|audio|SIE|SEC|samsung|HTC|mot-|mitsu|sagem|sony|alcatel|lg|eric|vx|NEC|philips|mmm|xx|panasonic|sharp|wap|sch|rover|pocket|benq|java|pt|pg|vox|amoi|bird|compal|kg|voda|sany|kdd|dbt|sendo|sgh|gradi|jb|dddi|moto|iphone|android) RewriteRule ^$ http://m.%1 2.10. Редирект с поддомена

    Например, выполним редирект с любой страницы поддомена poddomen.site.ru на основной домен site.ru

    RewriteCond %{HTTP_HOST} ^poddomen.site.ru$ RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI} 3.Другие примеры с htaccess 3.1. Запретить IP-адрес и браузер

    Запретим открывать сайт для пользователя с браузера IE с IP-адресом 172.111.222.55

    RewriteCond %{HTTP_USER_AGENT} MSIE RewriteCond %{REMOTE_ADDR} ^172\.111\.222\.55$ RewriteRule ^.*$ - [F] 3.2. Запретить конкретный файл

    Запретим для всех файл disable_file.html :

    deny from all 3.3. Разрешить доступ с одного ip

    Доступ будет разрешен только с одного ip-адреса 172.111.222.55

    order deny,allow deny from all allow from 172.111.222.55 3.4. Запретить доступ с разных ip

    Запретить доступ к сайту с нескольких ip-адреса 172.112.222.55, 172.113.222.55, 172.114.*.*

    order deny,allow deny from all deny from 172.112.222.55 deny from 172.113.222.55 deny 172.114.*.* 3.5. Редирект в URL с больших символов на маленькие

    Все большие буквы в адресе URL будут переведены на маленькие.

    RewriteRule - RewriteRule ! - RewriteRule ^([^A]*)A(.*)$ $1a$2 RewriteRule ^([^B]*)B(.*)$ $1b$2 RewriteRule ^([^C]*)C(.*)$ $1c$2 RewriteRule ^([^D]*)D(.*)$ $1d$2 RewriteRule ^([^E]*)E(.*)$ $1e$2 RewriteRule ^([^F]*)F(.*)$ $1f$2 RewriteRule ^([^G]*)G(.*)$ $1g$2 RewriteRule ^([^H]*)H(.*)$ $1h$2 RewriteRule ^([^I]*)I(.*)$ $1i$2 RewriteRule ^([^J]*)J(.*)$ $1j$2 RewriteRule ^([^K]*)K(.*)$ $1k$2 RewriteRule ^([^L]*)L(.*)$ $1l$2 RewriteRule ^([^M]*)M(.*)$ $1m$2 RewriteRule ^([^N]*)N(.*)$ $1n$2 RewriteRule ^([^O]*)O(.*)$ $1o$2 RewriteRule ^([^P]*)P(.*)$ $1p$2 RewriteRule ^([^Q]*)Q(.*)$ $1q$2 RewriteRule ^([^R]*)R(.*)$ $1r$2 RewriteRule ^([^S]*)S(.*)$ $1s$2 RewriteRule ^([^T]*)T(.*)$ $1t$2 RewriteRule ^([^U]*)U(.*)$ $1u$2 RewriteRule ^([^V]*)V(.*)$ $1v$2 RewriteRule ^([^W]*)W(.*)$ $1w$2 RewriteRule ^([^X]*)X(.*)$ $1x$2 RewriteRule ^([^Y]*)Y(.*)$ $1y$2 RewriteRule ^([^Z]*)Z(.*)$ $1z$2 RewriteRule - [N] RewriteCond %{ENV:HASCAPS} TRUE RewriteRule ^/?(.*) /$1

    Код ответа 301 (Moved Permanently) означает, что запрошенный документ теперь доступен по новому адресу на постоянной основе. Редирект 301 может понадобиться в нескольких случаях: переезд на новый домен, изменение адреса страницы или . Цели этих мероприятий вполне прозрачны:

    • Перенос старых показателей на новую страницу или домен.
    • Устранение битых ссылок, как внешних, так и внутренних.
    • Устранение дублей страниц.

    Существует несколько способов сделать 301 редирект, но я предпочитаю вариант с использованием файла.htaccess, который находится в корневой папке FTP вашего сайта (если его там нет, то просто создайте его, он не имеет расширения).

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

    Довольно часто возникает ситуация, когда страница сайта была удалена или вынуждена сменить свой URL. При обращении к её старому адресу, пользователь, само собой, увидит страницу 404 ошибки (не найдено).

    Если станица маловажная, то не стоит и возиться, но если к ней часто обращались посетители сайта (и, возможно, у кого-то она сидит в закладках), если на неё ведут неподконтрольные вам внешние ссылки или, наоборот, подконтрольные внутренние, но в таких объёмах, что очень хочется их править, то настройка 301 редирект со старой страницы на новую станет для вас идеальным решением.

    Также его можно использовать для борьбы с дублями страниц. В общем нужно писать книгу на тему «99 способов использование Redirect 301». Вот его синтаксис:

    Redirect 301 /old-page.html http://new-domain.ru/new-page.html

    Ну или так, результат будет один и тот же:

    Redirect permanent /old-page.html http://new-domain.ru/new-page.html

    Поясняю: /old-page.html - относительный адрес старой страницы. Он может быть вложенным: /old-category/old-page.html, ну или таким: /old-category/old-page/ - тут никаких ограничений нет. Тоже самое относится к http://new-domain.ru/new-page.html (новой странице), с той лишь разницей, что путь тут абсолютный (не обязательно, чтобы это был новый домен - может быть просто новый внутренний адрес страницы).

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

    Не менее понятная ситуация. Возникла необходимость переехать на новый домен, сохранив показатели старого ( , PR). В этом случае приписываем в.htaccess старого домена следующее:

    Options +FollowSymLinks
    RewriteEngine on

    RewriteEngine off

    RewriteCond %{HTTP_HOST} ^old-domain\.ru
    RewriteRule ^(.*)$ http://new-domain.ru/$1
    RewriteCond %{HTTP_HOST} ^www.oldsite\.ru
    RewriteRule ^(.*)$ http://old-domain.ru/$1

    В данном примере мы установили редирект всех страниц старого домена на страницы нового (при условии, что их относительные адреса совпадают). При этом мы оставили без редиректа на старом домене файл robots.txt, чтобы процесс переноса был более полноценным. В него мы прописываем:

    User-agent: *
    Disallow:
    Host: newsite.ru
    Sitemap: http://newsite.ru/sitemap.xml

    Ну и ждём пару месяцев, пока переезд домена не будет зачтен, а все характеристики - переданы.

    Склейка зеркал сайта: 301 редирект c www на без www и наоборот

    Существует несколько вариантов обращения к сайту - с www и без www (например, сайт и www.сайт). Пользователю все равно, как именно вводить URL, так как он в любом случае попадет на одну и ту же страницу. Иначе дело обстоит с поисковыми системами. Они расценивают www.site.ru и site.ru, как два совершенно разных домена (что тянется из глубин истории всемирной сети, когда это действительно было так).

    Эти дубли мешают индексации сайта и продвижению в целом, так как, во-первых, это банальные дубли страниц (уж извиняюсь за повторение) и, во-вторых, входящие ссылки будут также укладываться в разные корзины. Тоже самое касается и дублей главной страницы: site.ru, site.ru/index.html, site.ru/index.php и т.д. По этой причине еще на этапе создания сайта желательно позаботиться об этом вопросе и одну из версий сайта (например, c www) переадресовать на другую (например, без www). Если момент был упущен, то тут нет ничего страшного.

    Рассмотрим процесс склейки зеркал с помощью 301 редиректа поэтапно.

    1. Определяем основной домен, выбранный для индексации поисковыми системами.

    Основное зеркало можно легко определить по результатам поисковой выдачи Яндекс и . Вводим название домена и смотрим, какой адрес отобразится: www.site.ru или site.ru. Если же сайт еще не проиндексирован, то выбираем его по своему усмотрению. Если в Google и Yandex основные домены разные, то лучше оставьте Яндексовский.

    2. Прописываем 301 редирект в.htaccess.

    Находим в корне FTP сайта файл.htaccess, скачиваем и открываем в блокноте, а затем вносим в него необходимые изменения. Первый вариант - 301 редирект домена без www на с www:

    Options +FollowSymLinks
    RewriteEngine On

    RewriteEngine off

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

    Обратная ситуация - с www на без www:

    Options +FollowSymLinks
    RewriteEngine On

    RewriteEngine off

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

    После завершения редактирования, сохраняем файл и загружаем его в корневую папку FTP с перезаписью.

    Опционально можно сразу же позаботиться о дублях главной страницы вида index.php и index.html, добавим ниже следующий код:


    RewriteRule ^index\.html$ http://www.site.ru/

    RewriteRule ^index\.php$ http://www.site.ru/

    Ну и, опять же, если у вас site.ru:

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

    3. Настройка robots.txt

    Увидели знакомую директиву, оставляющей robots.txt нетронутым? Все верно, вносим изменение в robots.txt:

    Host: основное-зеркало.ru

    4. Проверяем работу сайта.

    Вводим тот адрес, который с которого мы проставляли редирект, например www.site.ru или site.ru/index.html и если при заходе на него происходит переход на site.ru, то всё настроено правильно.

    5. Настройка Yandex и Google вебмастер.

    Дополнительно применяем соответствующие настройки в личных . В случае с Yandex:

    Ну и для Google:

    На этом вроде всё. Удачи вам и если появятся вопросы, то пишите в комментариях.



    Понравилась статья? Поделиться с друзьями: