Редирект на страницу. Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias. Запретить доступ с разных ip

  • 29.04.2019

Решила попробовать. Буду постить наблюдения, практическое применение и решение проблем по теме SEO и "я-вебмастер" по стопам собственного опыта. Не знаю, насколько меня хватит, время покажет.

Пояснительная преамбула: Я не специалист по поисковой оптимизации (SEO) и не программист. Всё здесь описанное - опыт и интуитивные соображения более-менее продвинутого пользователя.

Ещё: Отдельно хочу выразить благодарность ave за многоразовую помощь в реабилитации сайта:)

Итак, к теме

Redirect 301: Как сделать редирект с одной страницы на другую

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

Что такое Redirect 301?

"Redirect" по-нашему "перенаправление", "переадресация". То есть, это такой код, с помощью которого мы сообщаем, что намерено и навсегда переадресовываем адрес (URL) страницы с прежнего места на новое. "Навсегда" можно отменить, удалив переадресацию.

301 - постоянная переадресация

302, 303 и 307 - временная переадресация

Для чего он нужен?

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

В любом случае, увидеть "404 ошибку" - это не прикольно, да и поисковики массовое наличие таких страниц на сайте рассматривают по-неприкольному - могут понизить ваш сайт в результатах выдачи поиска.


Скриншот из видео , в котором глава команды Google по борьбе с веб-спамом Мэтт Каттс (Matt Cutts) отвечает на вопрос "Какая доля веса PageRank теряется при 301 редиректе?"

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

В каких случаях на сайтах применяется перенаправление 301?

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

Это основные случаи. Мой случай - первый, его и рассматриваем.
Делается просто, но у меня простой вариант не сработал, пришлось пару часов погуглить в поисках верного варианта.

Делаем переадресацию 301

Делается это в файле.htaccess, который лежит в корневой папке сайта. Открываем его и вписываем туда наш редирект. Я прописывала сразу после RewriteBase /

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

У меня этот вариант не сработал. Результат: переадресация не происходила, а в адрес ссылки дописывался параметр ?q= . Вот вариант, который у меня сработал. Уточняю: реализовано для сайта на Drupal

Хотите перенаправить URL-адрес из одного места в другое? В этом простом руководстве мы покажем, как можно это сделать с помощью Apache / .htaccess , PHP , JavaScript , HTML и т. д. Каждый метод редиректа HTML мы кратко поясним и продемонстрируем готовые к использованию примеры.

Редирект URL-адресов с помощью PHP

Редирект с помощью PHP выполняется с помощью функции header() , например:

Эта функция должна быть вызвана в начале веб-страницы до вывода HTML-кода . Чтобы узнать больше о настройке этого метода, ознакомьтесь с документацией PHP .

Чтобы выполнить редирект с помощью PHP через определенное время:

Редирект на example.com выполняется через 5 секунд. Вы можете изменить это значение на необходимое.

Редирект URL-адресов с помощью JavaScript

Вот самый простой способ index html редиректа с помощью JavaScript :

document.location.href = "http://example.com/";

Редирект URL-адресов с помощью HTML

Можно перенаправить пользователя на новый URL-адрес , используя старый добрый HTML . Вот пример:

Это называется meta-refresh редирект. Можно задать время (в секундах ), изменив 10 на необходимое число. Обратите внимание, что этим методом редиректа часто злоупотребляют спамеры. Поэтому будьте осторожны, если вы реализуете его на общедоступном сайте.

Редирект URL-адресов с помощью Perl

Вот два способа редиректа URL-адресов с помощью Perl :

#!/usr/bin/perl print "Location: http://example.comnn"; exit;

Редирект URL-адресов с помощью ASP (VB Script)

Чтобы перенаправить URL-адрес с помощью ASP , добавьте следующий код:

Редирект URL-адресов с помощью mod_alias Apache

Самый простой способ перенаправления на серверах Apache :

Redirect 301 /old-location.html http://example.com/new-location/

Перед тем, как сделать редирект HTML , этот код нужно добавить в файл .htaccess или файл конфигурации сервера Apache . Вот синтаксис этого метода:

[Директива] [Код состояния] [Старый URL] [Новый URL]

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

http://example.com/old-directory/file-01.html http://example.com/old-directory/file-02.html http://example.com/old-directory/file-03.html . . .

Можно использовать RedirectMatch вместо Redirect :

RedirectMatch 301 /old-directory/file-(.*).html http://example.com/new-directory/file-$1.html

Также можно изменить код статуса с 301 (постоянный редирект ) на 302 (временный редирект ). Или на любой другой действительный код состояния. Ниже приведено руководство по регулярным выражениям, используемым в методе RedirectMatch :

  • или отсутствию символа );
  • $1 — возвращает шаблон, сопоставляемый первым (.*) .
Редирект URL-адресов с помощью mod_rewrite Apache

Более функциональный способ редиректа с помощью Apache — использовать его переписывающий модуль mod_rewrite . Вот несколько примеров, которые можно добавить в .htaccess или в файл конфигурации Apache .

Пример 1: Редирект с www на без www

Этот код редиректа HTML перенаправляет все www-версии URL-адресов на их эквивалентные версии без www .

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

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

  • . — буквально соответствует точке;
  • $ — обозначает конец запрошенного URI ;
  • (.*) — соответствует любому символу (или отсутствию символов );
Пример 2: Редирект всего домена

Чтобы осуществить редирект HTML с текущего домена на новый:

RewriteRule ^/(.*) https://new-domain.tld/$1

Аналогично можно перенаправить запросы из поддомена текущего сайта на поддомен на новом сайте:

RewriteCond %{HTTP_HOST} (.*).old-domain.tld RewriteRule ^/(.*) https://%1.new-domain.tld/$1

Вот несколько примечаний о регулярном выражении, используемом в этом примере:

  • ^ — обозначает начало запрошенного URI ;
  • (.*) — соответствует любому символу (или отсутствию символов );
  • $1 — соответствует шаблону из круглых скобок (.*) в RewriteRule ;
  • %1 — соответствует первому шаблону из круглых скобок (.*) в RewriteCond
  • — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.

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

Пример 3: Перенаправление всех файлов HTML и PHP

Вот еще один, более сложный пример скрипта редиректа HTML mod_rewrite :

RewriteCond %{REQUEST_URI} ^/old-directory/(.*).(html|php)$ RewriteRule (.*) http://example.com/new-directory/%1.%2

Мы перенаправляем все запросы к любым файлам HTML или PHP , расположенным в папке /old-directory/ . Все соответствующие запросы перенаправляются в тот же файл, который находится в /new-directory/ . Вот несколько примечаний о регулярном выражении, используемом в этом примере:

  • ^ — обозначает начало запрошенного URI;
  • (.*) — соответствует любому символу (или отсутствию символов );
  • . — буквально соответствует точке;
  • (html php) — соответствует либо html , либо php ;
  • — делает шаблон нечувствительным к регистру;
  • %1 — соответствует первому шаблону из круглых скобок (. *) в RewriteCond ;
  • %2 — соответствует второму шаблону из круглых скобок (html|php ) в RewriteCond ;
  • — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.
Редирект ошибки 404 с помощью Apache

Вот удобный код редиректа html HTML всех ошибок 404 «Not Found» на определенный URL .

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

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

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

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

При наличии инструмента для создания и управления ссылками вы сможете заменять целевую страницу в несколько кликов. В итоге, ссылка в вашей статье остается прежнего формата – 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 тест или , заменив целевую страницу.

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

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

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

    Всем-всем привет!

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

    Что такое 301 редирект?

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

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

    Пример. Раньше блог Context-UP находился по URL: http://blog.сайт (среди Вас, наверное, есть те кто застал эти времена), затем мне захотелось, чтобы сайт находился на домене второго уровня, то есть . Для осуществления своего желания мне пришлось перенести все содержимое блога в другой каталог (папку) на хостинге, затем в панели , а , указать новый домен, чтобы роботы начали индексировать новый адрес блога. Только после всего этого, я настроил редирект в..

    Теперь я надеюсь, Вы поняли, что такое 301 редирект.

    Как настроить 301 редирект через htaccess?

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

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

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

    Мы, то есть простые клиенты хостинг-провайдеров, способны только активировать данный модуль для своего каталога с сайтом через файл.htaccess. Делается это просто, достаточно ввести в ранее упомянутый файл строчку:

    RewriteEngine On

    Работать данный модуль будет только в том случае, если он подключен в веб-сервере Apache. Поэтому уточните данный момент у администраторов.

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

  • Если вы переезжаете с одного домена на другой;
  • Если Ваш сайт доступен с www и без www;
  • С протокола http на https;
  • С одной страницы на другую;
  • С индексного файла index.html/php на главную страницу.
  • Пойдем по порядку.

    Переезд на другой домен

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

    RewriteEngine On RewriteCond %{HTTP_HOST} old-domen.ru RewriteRule (.*) http: //new-domen.ru/$1

    301 редирект с www на URL без www и наоборот

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

    По этой причине, любой сайт должен быть доступен только по одному адресу: либо с www, либо без. Иначе позиции сайта не будут расти.

    Редирект с www.site.ru на site.ru:

    Редирект с site.ru на www.site.ru:

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

    С протокола http на https

    Используйте данный код для редиректа на безопасный протокол https:

    RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https: //%{HTTP_HOST}%{REQUEST_URI}

    С одной страницы сайта на другую

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

    Redirect 301 /stranica1..html

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

    С index.html или index.php на корень (слеш)

    Изначально, практически на всех сайтах главная страница доступна по двум URL: http://site.ru/index.php и http://site.ru/. Это не правильно, так как получается дублирование контента главной страницы и ПС начнут пессимизировать сайт в выдаче (намеренно опускать сайт вниз).

    Чтобы такого не было, нужно прописать следующее:

    Если Вы хотите сделать редирект с index.html

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

    Если Вы хотите сделать редирект с index.php

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

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

    Ну а на этом все, дорогие друзья!

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

    До скорых встреч!

    Предыдущая статья
    Следующая статья

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

    Понятие редиректа

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

    Для чего он требуется?
  • Замена адреса сайта на более красивый. Если просто переехать с одного сайта на другой, можно потерять многих посетителей. Именно благодаря редиректу, происходит переброс пользователей на новый сайт, даже если они обращаются к старому адресу. Таким образом, редирект страницы позволяет сохранить клиентов без дополнительных затрат средств и времени при замене адреса сайта.
  • Так называемая склейка доменов. Посетители могут вводить в поисковую строку один и тот же адрес двумя способами: используя тройное W или нет. В обоих случаях юзер попадает на один и тот же сайт, именно из-за настроенной переадресации.
  • Временная переадресация используется в случаях, когда сайт перенесли на новый домен, однако он пока не готов работать в полную силу.
  • Навязывание ненужной рекламы.
  • Увеличение посещений того или иного Интернет-ресурса. Такой редирект, который перенаправляет пользователя вместо искомого сайта на другой (например, рекламный), используется для накрутки счетчиков.
  • Так называемые реферальные ссылки.
  • Типы

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

    • 300 — выбор одного варианта из нескольких. Чаще всего используется автоматически для выбора нужного языка или кодировки.
    • 301 — перемещение навсегда. Как раз такой вид переадресации используется при переезде сайта.
    • 302 — временный редирект. Используется для временной переадресации юзеров и поисковых систем с одного адреса на другой.
    • 303 — ресурс, который запрашиваете, находится по другому адресу. Следует отметить, что такой редирект используется поисковыми системами: когда результатом поиска является всего одна страница, юзера сразу перенаправляют на нее.
    • 305 - используйте прокси. Доступ к документу с таким типом редиректа доступен только с использованием прокси-сервера.
    • 307 - еще один временный редирект.

    Редирект с кодом 304 указывает на то, что наполнение страницы осталось прежним, а 306 код припасен на возможные будущие нужды.

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

    Как сделать редирект?

    Переадресацию можно настроить несколькими способами. Рассмотрим каждый из них отдельно.

  • Настройка переадресации через htaccess. Это, пожалуй, самый простой и распространенный способ организовать перенаправление с одного сайта (или страницы) на другой. Чтобы воспользоваться этим методом, необходимо в папке сайта создать файл и назвать его.htaccess, имя файла должно начинаться именно с точки. У пользователей CMS и Joomla такой файл уже имеется, создавать его специально нет необходимости.
  • В том случае, когда Интернет-ресурс написан не на CMS, нелишним будет знать, как сделать редирект через PHP . Но для этого нужно разбираться в структуре вашего Интернет-ресурса.
  • Редирект HTML используется в случае, когда необходимо сделать переадресацию одной или нескольких статей сайта, написанного на HTML. Настройка редиректа всего сайта этим способом займет длительное время.
  • Редирект при помощи JavaScript - простой и эффективный способ для владельцев простых сайтов или тех, кому требуется настроить переадресацию одной или нескольких страниц либо полностью всего ресурса.
  • Примеры

    Редирект сайта или страницы через htaccess прописывается следующим образом:

    • Redirect /page-А.html /page-В.html - перенаправление со страницы А на страницу В.
    • Redirect / http://site2.ru/ - переадресация на сайт2.

    Чтобы "склеить" домены, в файл.htaccess, необходимо добавить следующие строки:

    • RewriteEngine on
    • RewriteCond %{HTTP_HOST} ^www.example\.ru
    • RewriteRule ^(.*)$ http://example.ru/$1

    Редирект на php будет выглядеть так:

    • - перенаправление на сайт А;
    • - редирект на страницу А.

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

    • Перенаправление будет происходить на сайт А. В данном метатеге можно регулировать время перенаправления. Если установить значение, отличное от нуля, то редирект будет происходить через указанное время.
    • - перемещение на страницу А сайта А произойдет через 10 секунд.

    Через JavaScript . Перенаправление посетителя на сайт А:

    • location="http://siteA.ru"

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