Прочитав пост “Как работает TinyURL” на прекрасном блоге очаровательной блондинки, решил поделиться своими взглядами на этот счет и предоставить небольшое руководство по созданию альтернативного варианта, так сказать “своего TinyURL”.
Рассматривать буду самый простой и быстрый вариант, выполняющий основную функцию – сокрытие большой ссылки (партнерской например) с редиректом по ней.
Внешний вид может быть, например: http://igorosa.com/go/abc.
Что для этого нужно?
1. Создаем папку в корне своего сайта (блога). Например папочку “go” как в примере выше. В принципе, папку можно не создавать, а разместить все в корне. Практической разницы нет, но как по мне, лучше держать в отдельной папке дабы не путаться среди существующих в корне файлов.
И так папку мы создали. Переходи к следующему этапу – созданию фала, который будет осуществлять редирект на требуемый нам адрес.
2. Создаем файл для осуществления редиректа.
Имя файла можно брать любое, но мы не будет извращаться и возмем стандартное – index.php
Далее у нас задача наполнить этот файл так, чтобы при его вызове осуществлялось перенаправление на требуемый адрес. Чтобы не повергать в страх непосвещенных в PHP читателей, я подготовил заготовку файлы. Скачать ее можно тут.
Теперь покажу, какие изменения необходимо произвести в заготовке, чтобы осуществлялось перенаправление на требуемый адрес.
В самом начале файла есть такие строки:
Приведенные ссылки заданы для примера, чтобы наглядно продемонстрировать правила их написания. Мы смело можете их изменять и добавлять свои. Главное следуйте указанному в примере синтаксису. Несоблюдение может привести к неработоспособности алгоритма.
Чтобы было понятнее поясню, что означают приведенные записи типа:
‘sape’ => ‘http://www.sape.ru/r.4db88c10f1.php’
‘sape’ – собственно и есть тот “abc” из примера в начале поста. Знак “=>” означает ассоциацию строки слева со строкой справа. Справа от знака указывается полная ссылка для перехода (‘http://www.sape.ru/r.4db88c10f1.php’).
И так файл создали, загрузили на хостинг, но что-то не работает и перехода нет. Для того, чтобы привести все в окончательный вид нам необходимо еще создать один файлик, который будет отвечать за правило преобразования короткой ссылки в длинную.
3. Создаем файл .htaccess
Хочу сразу обрать внимание, что точка в начале файла обязательна. Если вы забудете ее создать, то алгоритм не будет полноценно работать.
Создали файл, далее вписываем в него следующее:
RewriteEngine On
RewriteRule ^([/_0-9a-zA-Z-]+)$ index.php?id=$1
и сохраняем в ту же папку, где и лежит наш первый файлик index.php
Вот в общем то и все! Если вы сделали все без ошибок, то при переходе, например, по ссылке http://вашдомен.ру/go/sape будет осуществлен переход на http://www.sape.ru/r.4db88c10f1.php.
Если есть вопросы – готов ответить. Пишите.