В этой статье мы покажем, как можно организовать перенаправление со страницы, используя JavaScript location . Неожиданные перенаправления считаются очень раздражающими с точки зрения пользователей, поскольку они отрицательно влияют на общее впечатление. Например, если вы перенаправляете пользователей на другой сайт сразу после их перехода на ваш. Также, если вы направите на постороннюю страницу по таймеру или после того, как они совершили определенное действие. Это приведет к тому, что пользователь захочет сразу же покинуть ваш сайт.
Кроме этого поисковые системы не жалуют ресурсы, использующие переадресацию, особенно если они вводят пользователей в заблуждение. Но существуют случаи, когда перенаправление может быть полезно. Поэтому мы оставляем за вами принятие решения, использовать переадресацию или нет.
Методы переадресации JavaScriptВ JavaScript window location или объект location используется, чтобы получить информацию о местоположении текущей веб-страницы (документа ), а также для его изменения. Ниже приведен список способов, которые могут быть использованы для реализации переадресации JavaScript :
//Устанавливает новое местоположение текущего окна. window.location = "http://www.example.com"; //Устанавливает новую гиперссылку (URL) для текущего окна. window.location.href = "http://www.example.com"; // Присваивает новый URL текущему окну. window.location.assign("http://www.example.com"); //Заменяет положение текущего окна на новое. window.location.replace("http://www.example.com"); //Задает местоположение самого текущего окна. self.location = "http://www.example.com"; // Задает положение самого верхнего окна относительно текущего. top.location = "http://www.example.com";
Хотя приведенные выше строки JavaScript кода выполняют схожую работу, у них есть небольшие отличия. Например, если вы используете перенаправление top.location внутри элемента iframe , то это принудительно перенаправит на главное окно. Еще один момент, о котором стоит помнить: location.replace() заменяет текущий документ, удаляя его из истории и делая его недоступным с помощью кнопки «Назад » в браузере.
window.location.href = "http://www.example.com";
Также вы можете зайти на эту страницу, чтобы подробнее узнать, как работает window.location .
Переадресация JavaScript: перенаправление при загрузкеЧтобы перенаправить пользователя на другой веб-сайт сразу же после открытия вашего сайта, можно использовать следующий код вверху вашей страницы, внутри элемента . Или, если вы используете отдельный .js файл , поместите следующий код в этот файл и не забудьте сослаться на него в заголовке вашей страницы:
window.location.href = "http://www.example.com";
Просто замените URL-адрес из примера на тот адрес, куда вы хотите перенаправлять. Следует отметить, что при этом виде переадресации, посетители вообще не увидят вашу веб-страницу и будут моментально перенаправлены на целевой адрес.
Переадресация JavaScript: перенаправление после определенного периода времениЧтобы перенаправить пользователя на другой сайт после определенного периода времени, можно использовать следующий код:
setTimeout(function() { window.location.href = "http://www.example.com"; }, 3000);
Функция JavaScript location href , приведенная выше, перенаправит пользователя со страницы через 3 секунды после полной загрузки. Вы можете изменить значение 3000 (3 x 1000 в миллисекундах ) на свое усмотрение.
Переадресация JavaScript: перенаправление со страницы после события или действия пользователяИногда нужно отправить пользователя на другую страницу после определенного события или совершенного действия. В таких случаях можно использовать проверку условия или закрепить за элементом событие для выполнения переадресации. Рассмотрим два следующих примера:
// Проверяем, верно ли условие, и затем перенаправляем. if (...) { window.location.href = "http://www.example.com"; }
Приведенный выше код JavaScript document location href выполнит перенаправление, если условие верно:
// событие onclick присвоено элементу #button. document.getElementById("button").onclick = function() { window.location.href = "http://www.example.com"; };
Приведенный выше код выполнит перенаправление, когда пользователь нажмет на элемент #button .
Так работает переадресация в JavaScript . Надеемся, эти примеры помогут вам в организации переадресации веб-страниц.
Данный пост, как и многие другие в блоге, имеют свою «историю» или, если можно так выразиться, практическое происхождение. Когда я только начинал вести блог, то исследовал некоторые методы для скрытия реферальных ссылок дабы найти самый лучших из них. В принципе, сложно сказать, есть ли позитивный эффект от применения подобных хитростей — ведь, давно известно, что большая часть рефералов становятся пассивными пользователями, не принося никакой доход. И тогда получается, что с одной стороны, чем больше людей вам удастся привлечь в партнерскую программу, тем предположительно больше нормальных рефов может получится. Но с другой — где гарантия, что, например, 10 «случайных зевак», зарегистрировавшись лишь из интереса будут полезнее одного вебмастера, который сознательно перешел по вашей реферальной ссылке. Вопрос, как говорится, риторический.
В принципе, если вы размещаете описание той или иной системы для то можно указать о предоставлении специальных бонусов вашим рефералам в виде полезных советов, консультаций, возможно даже софта. В таком случае, по идее, в выигрыше останутся все — пользователь получит полезные данные, а вы, возможно, прибыльного реферала. Но если публикация реф. ссылок осуществляется в тексте статей, в виде баннеров, то здесь (чаще всего) просто негде размещать ваше «щедрое предложение помощи». И тогда, думаю, более эффективно все же скрыть реферальную ссылку.
До недавнего времени я использовал хитрость с подменой адреса при нажатии ссылки . Для этого в текст или шаблон блога добавлялся следующий код:
текст ссылки
В отображаемый адрес ссылки добавлялся обычный линк на главную страницу той или иной системы, а вот в качестве реального адреса выступала реферальная ссылка . Чтобы ее заметить нужно было смотреть HTML код страницы, но таким далеко не все будут заниматься, чаще всего вебмастера ограничиваются просмотром строки состояния браузера, которая в данном случае никак реф. ссылку не выдает. Тем не менее, метод оказался с одним большим недостатком . По словам некоторых специалистов при открытии ссылки через пункт контекстного меню «Открыть в новом окне» реферальная ссылка не сохранится. На 100% я лично в этом не уверен, пару моих тестов показали обратное, хотя в некоторых других случаях действительно ничего не происходило. В любом случае я решил поискать альтернативные методы скрытия реферальных ссылок.
В принципе сам по себе скрипт PHP редиректа внешних ссылок может использоваться для уменьшения числа внешних ссылок с того или иного сайта, что даст возможность больше заработать на нем в разных биржах. В общих чертах суть метода заключается в создании некоего файла go.php , в который добавляете код:
Перенаправление |
Перенаправление
Здесь параметр sleep() может содержать задержку для редиректа.
Данный файл заливаете с корневой каталог сайта (если это wordpress блог, то туда, где находится файл wp-config.php). После этого прописываете нужные для php редиректа ссылки как:
http://ваш_сайт/go.php?url=http://куда_направляемся
Сами понимаете, что в таком случае ни о каком скрытии рефереальной ссылки речь не идет. Поэтому есть смысл немного изменить код в файле go.php на следующий:
В этом случае в коде вместо текста реальная ссылка ставим реферальную. Но тогда в одном PHP файле мы сможем задавать редирект только для одной реф. ссылки, поэтому придется создавать сразу несколько файлов под каждую биржу отдельно по типу gosape.php, goggl.php и т.п. При этом было бы неплохо закрыть индексацию файлов с PHP редиректом в robots.txt go.php:
User-agent : * Disallow : /go.php Disallow : /gosape.php Disallow : /goggl.php |
User-agent: * Disallow: /go.php Disallow: /gosape.php Disallow: /goggl.php
Либо проще будет закрыть индексацию целой директории, куда и добавить все php файлы.
Редирект ссылок через htaccessРедирект для ссылок можно организовать не только через PHP файл, но и прописать соответствующую директиву Redirect в файле.htaccess. Его вы можете найти в корневой директории сайта. Кроме того на хостинге должен быть включен модуль mod_rewrite (в большинстве случае имеется). Синтаксис для команды следующий:
Redirect URL-path URL
- status: необязательное поле, определяет код возврата, допустимые значения:
- permanent (301 - документ перемещен постоянно)
- temp (302 - документ перемещен временно)
- seeother (303 - смотрите другой)
- gone (410 - убран)
- URL-path: подставная ссылка.
- URL: реальная ссылка
RewriteEngine on Redirect /gosape http://www.sape.ru/12345.php |
RewriteEngine on Redirect /gosape http://www.sape.ru/12345.php
Таким образом клике по ссылке http://mysite.ru/gosape пользователь будет попадать на сайт sape с реферальной ссылкой. За метод спасибо автору этой статьи .
PHP редирект ссылок в два этапаВ одном из блогов нашел еще один весьма как спрятать внешние ссылки. Для этого в корневом каталоге сайта создается некая папка, например, под названием pages, там размещаем 3 файла:
1.linkslist.php – хранит массив внешних (реферальных) ссылок для редиректа, его код:
2. redirect.php – php скрипт анализа ссылки и выполнения перерхода:
3. Файл .htaccess – передает запросы скрипту redirect.php.
Options +FollowSymlinks RewriteEngine On RewriteRule ^get/(.+) /pages/redirect.php/$1 [L]
После этого на страницах вашего блога или сайта вы можете размещать ссылки вида http://site_name/pages/get/page1.html, где page1.html — определяется в файле linkslist.php и соответствует реальной ссылке, на которую будете перенаправлен пользователь. Весь процесс обработки ссылки автор метода уместил в такой схеме:
В принципе, мне лично больше всех понравился именно последний метод, за что отдельное спасибо Стаценко Владимиру, который его у себя в блоге и опубликовал. Очень удобно, что все ссылки для редиректа можно уместить в одном файле в весьма простом и наглядном виде.
Конечно, для скрытия рефереальных ссылок можно применять и плагины, но я больше склонен к простым методам, без использования сторонних приложений, если есть такая возможность. Тем не менее, в дальнейшем парочку примеров все же рассмотрю.
А каким способом скрытия реферальных ссылок пользуетесь вы и почему?
P.S. Постовой. Компания WebPromo предоставляет поисковое продвижение сайта и его раскрутку в Google и Яндекс.
Если вы не знаете как предотвратить лишение водительских прав советуем обратиться за бесплатной консультация автоюриста.
Линзмастер — это интернет магазин контактных линз с доставкой по Киеву и Украине.
Типы редиректов
Есть несколько типов редиректов, рассмотрите каждый из них в кратце, чтобы определить какой из них вам больше подходит.
Редирект через htaccess
- самый популярный, и довольно простой способ.
Чтобы его сделать,
вам понадобится создать в папке сайта файл с названием.htaccess (обратите внимание, что
название файла начинается с точки, это не опечатка). Если вы используете CMS WordPress или
Joomla, то скорее всего этот файл у вас уже есть, в этом случае вам нужно будет просто
отредактировать его.
Читайте ниже чтобы узнать какие именно инструкции в нем нужно прописать, чтобы создать
перенаправление.
Редирект при помощи PHP - подойдет в том случае, если вы разбираетесь в PHP и знаете структуру своего сайта. Этот вариант подойдет вам, если ваш сайт написан не на CMS. В ином случае лучше используйте редирект через htaccess.
Редирект HTML - если у вас простой HTML сайт и вам нужно сделать перенаправление для одной страницы - это самый простой вариант. Сделать перенаправление для всего сайта этим способом будет трудозатратно, особенно если у вас на сайте больше 10 страниц.
Редирект при помощи JavaScript - этот способ подойдет также в том случае, если у вас простой сайт, либо если нужно сделать редирект для одной - двух страниц, либо для всего сайта в целом.
Редирект при помощи.htaccess файла
Инструкции, которые вы увидите ниже, нужно прописать в файл.htaccess в самое начало.
Redirect / http://new-site.ru/
В этом примере, перенаправление будет происходить на сайт new-site.ru
Redirect /page-1.html /page-2.html
В этом примере,
перенаправление будет происходить со страницы page-1.html на страницу page-2.html.
Обе страницы должны располагаться на одном домене.
Этот вариант подходит для
замены старых страниц сайта на новые.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.ru
RewriteRule ^(.*)$ http://example.ru/$1
В этом примере, посетители будут перенаправляться с http://www.example.ru на http://example.ru.
Redirect 301 /blog/page-1.html http://example.com/page-2.htm
В этом примере, посетители будут перенаправляться со страницы blog/page-1.html на example.com/page-2.htm .
ErrorDocument 404 /index.html
Пропишите эту строку в.htaccess файле, и тогда все посетители, которым встретится ошибка 404, будут перенаправлены на index.html .
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Пропишите эту строку в.htaccess файле, и тогда все посетители вошедшие на сайт по протоколу HTTP будут перенаправляться на защищенный протокол HTTPS.
Если вы прописываете редирект для WordPress , то обратите внимание на то, что в файле уже есть строка RewriteEngine On. Поэтому сразу под ней вам нужно добавить такие строки
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.com/$1
PHP редирект
В PHP редирект делается так: сервер отправляет заголовки headers браузеру посетителя,
и тот переходит по нужному адресу автоматически.
Стоит отметить важный момент,
отправлять заголовки можно только до вывода другой
информации. То есть они должны отправляться до вывода любой другой информации через
echo
и до отправки кук.
В этом примере, перенаправление будет происходить на сайт http://example.com
Здесь перенаправление будет происходить на http://example.com/page.html
Здесь если посетитель сайта зайдет на страницу blog/post-1.html то он будет перенаправлен на http://example.com/page.html
HTML редирект
Чтобы сделать редирект через HTML, нужно добавить на каждую страницу где он планируется
специальный мета тег. Мета тег прописывается внутри тега
.
На больших сайтах этот метод не удобен, и рекомендуется использовать
редирект через .
В этом примере, перенаправление будет происходить на сайт https://сайт с задержкой в 5 секунд. Если установить значение задержки вместо 5 в 0, то посетитель будет перенаправляться на другой сайт моментально.
Привет! Сегодня сижу, занимаюсь подготовкой рекламной компании под спам и думаю, дай запишу часть процесса. Вообщем тема заезженная, кому нужно знают, а я попытаюсь раскрыть для чего нужен редирект, почему используем блоги Blogger ну и собственно сами скрипты и сервисы про которые я рассказываю на видео. Приступим!
Чтобы наши рабочие аккаунты и доменное имя сайта не улетели в бан Вконтакте, используем уникальный текст с помощю РАНДОМИЗАТОРА , создаем блоги на Blogger и настраиваем редирект. После чего сокращаем ссылки через сокращатели и с каждого блога получаем по 6 ссылок. Обычно, под спам, делаю до 60 разных ссылок – так надежнее.
Сервисы сокращения ссылок Скрипты для редиректа с Blogger и других сайтовЧтоб сделать редирект со своего Blogger-блога на другой сайт надо вставить код после тега (он находится почти в самом верху кода).
Первый вариант: редиректит сразу. Им то и пользуемся:
window.location=”https://сайт
“;
☝️ Незабываем поменять название сайта на свое!
Второй вариант: редирект с задержкой, делаем через HTML, точно так же сразу после :
После слов “meta content” можно изменить число с нуля на какое-нибудь другое. Это число – задержка (в секундах) перед перенаправлением.
Третий вариант: с подтверждением. Пользователь будет должен подтвердить что согласен с перенаправлением.
<script>
if(confirm(“Мы переехали на новое место. Подтвердите перенаправление на наш новый сайт.”))
{
location = “https://сайт
“;
}
else
{
history.back();
}
В браузере это выглядит так:
На этом собственно и всё! А теперь смотрим ВИДЕО по тому как и для чего нам пригодятся редиректы.