Переадресация веб страниц

Содержание:

Правила Redirect, RewriteRule и RewriteCond

1.1. Директива Redirect

Синтаксис Redirect:

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

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

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

Страницу куда идёт редирект нужно писать полностью, т.е. абсолютный адрес страницы URL: с названием домена и протокола http или https.

Например:

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

1.2. Директива RewriteRule

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

  • При внешнем редиректе меняется урл адреса в строке браузера — «»;
  • При внутреннем — не меняет урл адреса в строке браузера — «» или «»;

1.3. Директива RewriteCond

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

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

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

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

Способ 5. Javascript-редирект с задержкой.

Этот вариант больше подходит если нужно сначала выполнить какой-то Javascript-код (например Метрики и т.п.) — а потом редиректить.

Не слишком надёжный способ выполнения задержки, т.к. у всех на компьютерах скорость выполнения Javascript может быть разной, но это лучше чем ничего. Т.е. можно рядом поставить код метрики и к примеру задержку в 300 миллисекунд — код Метрики скорее всего успеет выполниться и потом будет редирект.

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

<script >
<!—
setTimeout (‘window.location = «//leonov-do.ru/»;’, 300);
//—>
</script>

В данном случае код сработает через 300 миллисекунд (1000 = 1 секунда). Не очень удобно может быть и для посетителя, но если нужен учёт метрикой (и не используются цели на предыдущей страничке на клик по кнопке и т.п.) — это тоже вариант.

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

301 редирект или 301 Permanent Redirect – это постоянная переадресация одного URL-адреса на другой. Само слово «редирект» дословно переводится с английского как «перенаправление».

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

.htaccess

Если приложить максимум усилий — 301 редиректом возможно решить широкий круг проблем с оптимизацией, и глобально улучшить конверсию сайта. Соответственно, как сделать редирект на другой сайт нужно знать любому SEO специалисту и веб-мастеру.

Главное в этом деле — не забыться и не натворить лишнего, а также помнить о том, что перед каждым добавлением новых редиректов необходимо делать бекап файла .htaccess.

Зачем нужен 301 редирект и в каких случаях его используют?

301 редирект — весьма универсальный инструмент для любого оптимизатора. Он позволяет совершить перенос ссылочного наполнения одной страницы на другую. Чаще всего делают редирект на другой сайт при переезде на другой домен, соединении дублей интернет страниц или перенаправлении с «www» на «без www» и наоборот.

wwwбез wwwпо наследству

301 редирект способен передать:

  • индекс цитирования;
  • все ссылочное наполнение.

301 редирект не способен передать:

  • возраст сайта;
  • какие либо фильтры или санкции;
  • присутствие в каталогах.

Ко всему прочему, возможен вариант, когда редирект выступает способом добавления в конце ссылки косой черты — слеша. То есть «http://site.com/news» при помощи редиректа изменяют на «http://site.com/news/».

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

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

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

Решений этой задачи на самом деле множество, все зависит от того какими техническими характеристиками обладает хостинг вашего сайта. Сейчас мы приведем несколько наиболее простых вариантов, как сделать 301 редирект.

Запомните, что все операции производится в файле .htaccess или httpd.conf (для сервера Apache).

Вариант 301 редиректа для переадресации на другой домен:

Redirect 301 / http://www.site.com/index.htm

В данном примере все страницы сайта будут перенаправлены на другой.

301 редирект для одной страницы выглядит так:

Redirect 301 /site1/page1.htm http://www.site2.com/page2.htm

В качестве последнего примера приведем следующее:

Redirect permanent /test http://www.test.com/

Redirect permanent / http://enter.test.com/

Видно, что при попадании пользователя или поискового робота в директорию test он автоматически перенаправляется на «www.test.com», все остальные перейдут на «enter.test.com».

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

Как проверить работает ли 301 редирект?

Самые распространенные ошибки, при которых 301 редирект отказывается работать правильно – это наличие прочих редиректов, мешающих работе.

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

Переходя к практике, давайте рассмотрим как проверить 301 редирект.

Допустим, посетитель вводит в адресной строке браузера ссылку «http://primer.com/index.php» и нажимает «ввод». Браузер совершает HTTP-запрос и посылает его серверу, который возвращает HTTP-ответ.

При установленном редиректе, в поле «Location» будет прописан другой адрес страницы, например: «http://primer.com/surprize.php», куда и произойдет переадресация.

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

HttpFox

Плагин HttpFox для браузера Mozilla Firefox построчно фиксирует загрузку страницы, что позволяет отслеживать связки редиректов, а так же порядок и быстроту загрузки интернет страницы.

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

Удачи Вам!

Один (а не два последовательных!) 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/

Использование функции PHP header() для редиректа URL-адреса

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

<?php
$new_url = 'https://example.com/final.php';
header('Location: '.$new_url);
?>

Здесь мы используем PHP-функцию header(), чтобы создать редирект. Нужно поместить этот код перед любым HTML или текстом. Иначе вы получите сообщение об ошибке, связанной с тем, что заголовок уже отправлен. Также можно использовать буферизацию вывода, чтобы не допустить этой ошибки отправки заголовков. В следующем примере данный способ перенаправления PHP показан в действии:

<?php
ob_start();
$new_url = 'https://example.com/final.php';
header('Location: '.$new_url);
ob_end_flush();
?>

Чтобы выполнить переадресацию с помощью функции header(), функция ob_start() должна быть первой в PHP-скрипте. Благодаря этому не будут возникать ошибки заголовков.

В качестве дополнительной меры можно добавить die() или exit() сразу после редиректа заголовка, чтобы остальной код веб-страницы не выполнялся. В отдельных случаях поисковые роботы или браузеры могут не обращать внимания на указание в заголовке Location. Что таит в себе потенциальные угрозы для безопасности сайта:

<?php
$new_url = 'https://example.com/final.php';
header('Location: '.$new_url);
exit();
?>

Чтобы прояснить ситуацию: die() или exit() не имеют отношения к редиректам. Они используются для предотвращения выполнения остальной части кода на веб-странице.

При PHP перенаправлении на страницу рекомендуется использовать абсолютные URL-адреса при указании значения заголовка Location. Но относительные URL-адреса тоже будут работать. Также можно использовать эту функцию для перенаправления пользователей на внешние сайты или веб-страницы.

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

Редирект (англ. «Redirect») — это автоматическое перенаправление пользователей с одной страницы сайта на другую, причём как в пределах одного проекта, так и на внешние. Для поисковых систем редирект применяется для склейки адресов страниц.

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

  • 300 редирект — множественный выбор;
  • 301 редирект — перемещен навсегда;
  • 302 редирект — документ найден;
  • 303 редирект — смотри другое;
  • 304 редирект — документ не изменился;
  • 305 редирект — используй прокси;
  • 306 редирект — не используется;
  • 307 редирект — временный редирект;

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

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

Основные виды редиректов

Всего существует 10 различных кодов, которые осуществляют перенаправление, но в своей работе в 98% случаев вы будете встречать 301, 302 и 304, о них ниже.

301 Moved Permanently

Запрашиваемый документ перемещён на другой URL-адрес навсегда. Это код ответа сервера, который вызывает больше всего вопросов у начинающих.

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

После краулинга таких страниц поисковые системы рано или поздно «склеят» их с целевой страницей редиректа и передадут вес.

Старайтесь убирать внутри сайта все ссылки на страницы, которые отдают 301 код ответа, и проставьте сразу целевую страницу редиректа.

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

302 Found

Уведомляет клиента, что страница найдена и временно расположена по другому адресу.

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

304 Not Modified

На самом деле, это не совсем редирект, это «уведомление» о том, что страница не изменялась с предыдущего посещения.

Код 304 Google использует и это положительно влияет на краулинговый бюджет. Яндекс такой код не использует.

При обращении, если GoogleBot видит 304 код ответа сервера – он не скачивает страницу.

What is redirection?

302 Found (HTTP 1.1) / Moved Temporarily (HTTP 1.0)

  • HTTP 1.0: 302 status code is «Moved Temporarily» — current page has been moved temporarily to another URL.
  • HTTP 1.1: the description phrase has been changed to «Found» — current page has been found.

link juice

Examples of using redirects

Redirecting your domain to a non-www URL:

Redirecting your domain to a www URL:

  • which URL ranks higher in the SERPs;
  • which URL is more represented in the index.

Redirecting your domain to URL without a slashwww.site.com/cat1www.site.com/cat1To delete the slash from the URLs:

To add the slash to the URLs:

To redirect the user from one page to another:

Redirecting the main page duplicates

Redirecting catalogs

www.site.com/old-catalog

Redirecting (sub-)domains

www.site.orgwww.site.netwww.site.comDeleting multiple slashes/hyphens from the URLswww.site.com/catalog////page-1.htmlwww.site.com/catalog/page-1.html

www.site.com/catalog/page—1.htmlwww.site.com/catalog/page-1.html

Redirecting from any URL to a lowercase URL

  • mounting a page-by-page 301 redirect from the old site to the new one;
  • don’t set up a redirect from robots.txt — add the Host directive to the new domain instead.

Generating 301 redirects

How to test the 301 redirect

  • whether it’s working (check the main page);
  • go through the main sections and webpages of the site.

When is it better to use a 301 redirect?

  • This is a preferred method by default;
  • For pages, that have beenmoved permanently, or their URLs have been changed;
  • For domains, if you’ve moved your website to the new domain;
  • For 404 pages. For example, if a certain product has been deleted from the catalog, you can set up a redirect to a page with a similar product, or to the URL of the product category.

When is it better to use rel= «canonical»?

  • If you can’t set up 301 redirects or it won’t be time-efficient;
  • For duplicate content, if you want to keep both versions (for example, pages with different clothing sizes);
  • When you have multiple URLs leading to the same page (catalog categories, pages for tracking the traffic from affiliate links, etc.);
  • For cross-domain resource sharing, if you want to transfer data between pages that have different origins (domains, for example).

To sum it up

Redirection mistakes

  • Redirection chains (avoid them to maximize the speed and the link juice flow of the website);
  • Using the wrong type of redirect (to make the right decision, you have to consider all the details);
  • Setting up internal redirects without rewriting the URLs of the links. You have to make sure that links on your website don’t lead to pages with the redirect;
  • Redirecting to irrelevant pages/content. Your links should always lead either to similar pages or to the section of the site that included the requested page;
  • The wrong choice of either rel=canonical or 301 direct (see above);
  • Redirecting robots.txt (it’s better to add the Host directive);
  • Any redirect, which doesn’t lead to a page with a 200 status code (every link should lead to a properly working page with a 200 status response. Otherwise, don’t confuse the crawlers and just show the 404 Error page).

Essential on-site SEO factors

Один (а не два последовательных!) 301 редирект на c www и со слешем на конце адреса страницы

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1

Типы редиректов

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

Htaccess-редирект

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

PHP-редиректы

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

Она работает медленнее, чем htacces. Однако, если страниц для которых нужно настроить редирект, много и сделать это нужно выборочно, а не для всех подряд, именно PHP может стать оптимальным вариантом.

Маркетинговые продукты Calltouch

Сквозная аналитика
Все данные в одном интерфейсе
Коллтрекинг
Определение источника звонков
Предикт
Речевая аналитика
Оптимизатор
Автоматическое управление рекламой
Обратный звонок
Виджет звонка с сайта
Антифрод
Защита от накрутки звонков

JavaScript-редирект

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

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

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

Редирект необходимо настраивать к исходном коде страницы, с которой осуществляется перенаправление, изменив его текст между тегами <head>-</head>.

HTML-редирект

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

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

301 редирект: что это такое

Можно столкнутся с несколькими видами редиректов, которые применяются в программировании и оптимизации. Одним из них будет 301 редирект, что это такое для нас не секрет. По другому его еще называют 301 Moved Permanently.

Один из наиболее популярных видов, к помощи которого прибегают для переноса локации навсегда, после чего следует заняться качественной настройкой Яндекс Директ, чтоб сделать это с минимальными потерями. Обычно этот редирект используется на постоянной основе при:

  • Перемещении доменов;
  • Перемещении документов;
  • Изменении протоколов сайтов;
  • Изменении структуры сайтов.

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

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

Редиректы — это способ перенаправлять пользователей сайтов на URL, отличный от того, что они запросили. Дубли страниц ухудшают ранжирование сайта, а редиректы помогают с ними бороться.Ещё их используют когда нужно создать новую страницу взамен уже существующей и при этом сохранить позиции и трафик. Существует 9 видов редиректов, но в SEO-практике активно применяются лишь три из них:

301 Moved Permanently (постоянный редирект) — указывает, что документ перенесён на новый URL навсегда. Когда SEO-специалисты или разработчики говорят о редиректе, они почти всегда имеют в виду 301 редирект. Старый адрес исчезает из выдачи, его место с сохранением позиций занимает новый.

302 Found, 302 Moved Temporarily (найдено, перемещено временно) — документ перенесён временно, например, переводит пользователя на страницу акции (распродажи), не меняя содержимое старой страницы. При этом в выдаче остается старый адрес страницы, ведь на новый она перемещена временно.

307 Temporary Redirect (временный редирект) — запрашиваемый документ на короткое время доступен по другому URL с сохранением метода передачи запроса (GET, POST) В целом выполняет ту же задачу что и 302 редирект.

Общие советы по настройке редиректов

1. Делайте редиректы только на релевантные страницы, со статусом 200 (OK).Чем более релевантна страница акцептора (та что принимает редирект) странице донору, тем быстрее они склеятся и тем больше веса она передаст.

2. Не используйте редирект там, где лучше поставить rel=canonical

Если контент страниц дублируется, но вам важно оставить страницы доступными для пользователей, используйте rel=canonical вместо редиректа. Например, если есть несколько версий контента (для печати, для мобильных,)

3. Не используйте редиректы для файла robots.txt

Этот совет в большей мере касается ПС Яндекс — для нее важно, чтобы при смене домена или переезде на защищенный протокол старый robots.txt был доступен роботам — так быстрее происходит склеивание доменов

4. Избегайте двух, трёх и более редиректов подряд. Каждый новый редирект — это потеря времени загрузки, лишняя нагрузка на сервер и возможная потеря передаваемого веса страницы.

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

  • сначала редирект с site.com/category-1/subcategory-1/ на site.com/category-1/subcategory-2/;
  • затем с site.com/category-0/ на site.com/category-0;
  • и последними — глобальные правила типа редиректа всех страниц без «/» на страницы с «/».

На больших ресурсах с множеством редиректов несоблюдение этого правила ведёт к возникновению страниц с 404 ошибкой.

6. Браузеры кешируют редиректы — чтобы проверить их работу, сбрасывайте кеш или используйте специализированные сервисы.

Важно!Хотя ссылочный вес и передается в полной мере, при массовом применении редиректов, например, при переезде на https, возможно проседание позиций и трафика страниц на 10-15%, с последующим восстановлением в течение 2-4 недель. Некоторые seo-специалисты, чтобы исключить возможность проседания трафика, советуют сначала настраивать 302 редирект, а после появления в выдаче большинства новых страниц — менять его на 301

Сразу предупреждаем, что такое использование 302 редиректа идёт вразрез с рекомендациями Google, но никто не запрещает вам экспериментировать 🙂

Массово проверить статус страниц сайта можно, используя программы для аудита сайта Netpeak Spider, SEO Screaming Frog и сервис Serpstat.

Немного магии

  • Тест на базовую модификацию URL как .
  • Попробуйте с двойными косыми чертами .
  • Попробуйте target.com/@attacker.com. В этом случае интерпретация будет такой: target.com — это имя пользователя, а attacker.com — это домен.
  • Тест на интерпритацию javascript .
  • Попробуйте target.com/?image_url=attacker.com/.jpg, если загружаются ресурсы изображений.
  • Попробуйте IP-адрес вместо имени домена.
  • Вы можете пойти дальше с точки зрения представления IP в десятичном, шестнадцатеричном или восьмеричном виде.
  • Вы также можете попробовать target.com/?redirect_url=target.com.attacker.com, чтобы обойти слабые реализации регулярных выражений.
  • Китайский разделитель 。в виде точки — .
  • Тест на обратную строку unicode(“\u202e”) .
  • Без слешей .
  • Обратные слешы  или .
  • Разные домены  в результате перенаправляется на  который отличаются от .
  • Попробуйте юникод безумие (включая смайлики)  или (‘?’ это “\uD835\uDC00”).

Примеры 301 редиректов в .htaccess

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

  • 301 редирект для удаления/добавления слэша в конце URL
  • 301 редирект с index (.html и .php) на корень сайта «/»
  • Редирект 301 с http на https
  • Редирект 301 с www на без www
  • Смена адреса сайта — редирект со старого домена на новый

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

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 

С любой страницы в каталоге и подкаталогах /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 

2.6. Простановка замыкающего слеша в конце адреса главной страница

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

RewriteCond %{REQUEST_URI} /++$
RewriteRule ^(.+)$ %{REQUEST_URI}/ 

Например для редиректа со страницы 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

В данном примере сначала проверяется факт того, что пользователь открыл сайт с мобильного устройства , далее происходит замена адреса сайта на 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} 

Редирект (redirect) это

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

Рассмотрим пример для понимания. Допустим, вы создали свой блог и долгое время публиковали в нем шедевральные обзоры. Людям они нравились и поэтому они оставляли ссылки на них в других сайтах (формировали ссылочную массу). Со временем, вы обнаружили, что часть страниц с некрасивым url адресом, например, вида «2222-11-11-11-11» (дата и время). Поэтому решили, что неплохо бы изменить адрес на более привычный для интернета (хотя бы транслит), чтобы посетителям было проще ориентироваться (ну и для сео оптимизации это полезно).

Однако, если просто изменить адрес, то возникнет следующая ситуация. Ссылки на других сайтах, ведущие на редактируемую страницу, станут бесполезными. Во-первых, вместо обзора будет возникать 404 ошибка (адрес не найден). Во-вторых, из-за этого по ссылкам не будет передаваться вес в полноценном объеме. В-третьих, такие ссылки будут постепенно удалять (см. во-первых).

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

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

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

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

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

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

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

Вывод кода JavaScript-редиректа с помощью функции PHP echo()

Это не является чистым PHP-решением. Тем не менее, оно также эффективно. Вы можете использовать функцию PHP echo() для вывода кода JavaScript, который будет обрабатывать редирект.

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

Ниже приводится несколько примеров, в которых использованы разные методы JavaScript для редиректа с текущей страницы на другую:

<?php
echo "<script>self.location='https://example.com/final.php';</script>";
echo "<script>document.location.href='https://example.com/final.php';</script>";
echo "<script>window.location.href='https://example.com/final.php';</script>";
echo "<script>window.location.replace('https://example.com/final.php');</script>";
?>

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

Заключение

Еще раз поздравляю тех, кто дочитал до конца! К сожалению, схема с uCoz перестала работать. Честно сказать – метод не самый надежный и этого стоило ожидать рано или поздно. Тем не менее, я не зря делаю акцент на редиректе. Большинство доменов CPA-сетей под фильтром у ВК. Это значит, что при переходе по такой ссылке, пользователь увидит от ВК предупреждение вида: “Ссылка на подозрительный сайт”. Чуть позже напишу, как я делаю надежные платные редиректы. Если работаете с трафиком – не забудьте ознакомиться с моим мануалом по продвижению в ВК и другими материалами блога.

С вами был Игорь Кантор. Надеюсь, что статья оказалась для вас полезной. Подписывайтесь на мой Телеграм-канал https://t.me/casecollector – впереди еще много огненного материала! Всем профита!)

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

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

Adblock
detector