Собственно о «редиректах» и пойдет дальнейший разговор. Как перенаправить пользователя с одного сайта (странички) на другую? Способов редиректа достаточно много, в Сети достаточно разрозненных описаний этих способов. Ниже будут приведены самые распространенные и действенные из них.
1. Самым простым редиректом является прямая ссылка на необходимый сайт. Выглядит это примерно так:
<html> <title>kbaott.net</title> <head> </head> <body> <center><strong><big> Наш сайт перехал на новый адрес <a rel="nofollow" href="http://kbaott.ru">http://kbaott.ru</a> </big></strong></center> </body> </html>
Файл index.html с таким содержимым будет содержать всего одну строку со ссылкой на новый адрес. Просто и… неудобно.
2. Автоматический редирект на PHP — одно из самых частовстречающихся заданий для веб-разработкчика. Для этого создаем текстовый файл, называем его например index.php и вписываем в него следующий код:
<? $URL="http://kbaott.ru"; header ("Location: $URL"); ?> <html> <title>kbaott.net</title> <head></head> <body> </body> </html>
Теперь если вызвать этот файл со скриптом, делается это примерно так: http://www.******.***/index.php, скрипт выполнится на сервере и вы будете автоматически перенаправлены на указанный в $URL сайт автоматически.Здесь стоит упомянуть, что имя файлу со скриптом можно дать любое, но при этом возникает другая проблема — как показать пользователю этот файл? Есть несколько способов, но самым лучшим, как мне кажется, будет следующий: заходим на сервер в корневую папку сайта, удаляем из нее файлы типа index.php, index.htm. index.html — это файлы с которых начинается загрузка сайта, теперь наш файл со скриптом редиректа называем index.php и загружаем его на сервер в корневую папку сайта. Теперь этот файл будет автоматически запускать скрипт при входе на сайт. Но этот способ не всегда возможен — другие варианты должны рассматриваться предметно.
3. Следующий более продвинутый способ редиректа — с помощью java-скрипта с таймером. Для этого создаем текстовый файл, называем его например countdownRedirect.js и вписываем в него следующий код:
function countdownRedirect(url, msg) { var TARG_ID = "COUNTDOWN_REDIRECT"; var DEF_MSG = "Redirecting..."; if( ! msg ) { msg = DEF_MSG; } if( ! url ) { throw new Error('You didn\'t include the "url" parameter'); } var e = document.getElementById(TARG_ID); if( ! e ) { throw new Error('"COUNTDOWN_REDIRECT" element id not found'); } var cTicks = parseInt(e.innerHTML); var timer = setInterval(function() { if( cTicks ) { e.innerHTML = --cTicks; } else { clearInterval(timer); document.body.innerHTML = msg; location = url; } }, 1000); }
Это будет наш java-скрипт с редиректом. Цифра 1000 в самом конце скрипта определяет время таймера — в данном случае это 10 секунд. Теперь поработаем над основным телом страницы:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Новый адрес моего блога теперь kbaott.net</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css"> a, a:active, a:visited { color : #FFFFFF; } a:hover { color : #dc0000; } BODY, TD, TEXTAREA, INPUT, SELECT { color: #FFFFFF; background: #000000; font: bold 13pt Tahoma, sans-serif; text-align: center; } span.counter { color: red; cursor: default; font-size: larger; } div.info { margin: 0 auto; text-align: left; font-size: smaller; width: 80%; margin-top: 2em; } </style> <script src="countdownRedirect.js" type="text/javascript"></script> </head> <body onload='countdownRedirect("http://kbaott.ru", "Спасибо за визит!")'> <div>Это мой старый блог.</div> <div class="info">Мой блог переехал на новый домен и на платном хостинге, посетите его - <a rel="nofollow" href="http://kbaott.ru">kbaott.net</a><br /><br /><center>Вы автоматически перейдете на него через <span class="counter" id="COUNTDOWN_REDIRECT">10</span> секунд.</center> </div> </body> </html>
Таким образом мы сообщим пользователю о том, что сайт переехал и аккуратно перенаправим его на новый адрес. Кстати говоря, скрипт (если вы не разбираетесь в java) лучше не трогать, а вот содержание html-страницы можно оформить по своему вкусу.
4. Теперь стоит сказать, что поисковые системы не любят редиректов, потому что не могут (по их мнению) качественно проиндексировать сайт. В целом это так и есть и все вышеперечисленные способы редиректа предназначены для человека, но они неудобны для поисковиков. Далее мы увидим несколько редиректов с помощью .htaccess.
.htaccess (hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла. В общем выше дана ссылка на Википедию — там почитаете :) .
Итак мы будем использовать великий 301-редирект, с его помощью можно склеивать домены для повышения PR и перенаправление посетителей при переносе сайта на новый домен. Начнем со склейки доменов.
К примеру есть сайт www.kbaott.net Поисковики его знают, но домен kbaott.net без префикса www они считают другим доменом. В этой ситуации ссылки на данный ресурс с каталогов, других сайтов и т.д. имеют вид www.kbaott.net, а некоторые ресурсы ставят ссылку kbaott.net без www. Таким образом часть PR уходит на сайт без префикса, что не есть хорошо. С помощью 301 редиректа можно склеить домены, перенаправляя посетителей и роботов с простого сайта на сайт с www или на оборот. Теперь поисковики видят что это один и тот же домен и весь пиар будет ваш.
Для этого в файле .htaccess в корне сайта пропишите следующие строчки:
RewriteEngine On RewriteCond %{HTTP_HOST}www.kbaott.net RewriteRule (.*) http://kbaott.ru/$1 [R=301,L]
Здесь идет перенаправление с сайта с префиксом на сайт без www. Вместо приведенных адресов вставьте свои. Так же можете сделать .htaccess редирект наоборот, поменяв адреса сайтов в файле местами.
5. Вот мы и дошли до перенаправления пользователя на другой домен. Для того, что бы перенаправить посетителя на другой домен используем 301 редирект в .htaccess следующим образом:
В корень домена, который будем клеить к основному помещаем .htaccess с таким синтаксисом:
Redirect Permanent / http://kbaott.ru
Да, всего одна строка — перенаправляет пользователя (или робота) на указанный адрес совершенно незаметно и мгновенно.
Итак мы с Вами разобрались в способах и механизмах редиректа. Желаю удачи. Вопросы можете задавать в комментариях.
Клиент: Большое спасибо, интернет работает хорошо
Саппорт: Ваша заявка принята, в течении 3-х дней исправим.