Делаем “свой TinyURL”

Дата: 09.04.2009 | Опубликовал: IgorOsa |




Прочитав пост “Как работает 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.

Если есть вопросы – готов ответить. Пишите.

IgorOsa



Popularity: 55%

Случайные записи:

Если Вам понравилась статья, то Вы можете получать новые материалы Igorosa.com по RSS или можете просто получать обновления блога на e-mail:

Получать обновления:
Добавить в Яндекс.Ленту

Comments

7 коммент. к “Делаем “свой TinyURL””
  1. z0r пишет:

    Офигенно, заменяет всякие плагины вида ninja affiliate, бесплатно и все довольны.

  2. Spoofi пишет:

    Действительно очень полезная статья :) Надо будет и себе сделать.

  3. z0r пишет:

    Всё сделал как написано, трижды перепроверил – не сработало

    • IgorOsa пишет:

      Значит все таки не все сделано правильно, так как описанная методика успешно работает на данном сайте!

  4. И правда просто, дешево и сердито

  5. Ильдар пишет:

    Спасибо!

    А поисковики не придерутся?
    Поставлю чтобы такие ссылки не индексировались через robots.txt, но все равно как-то страшновато…

    • IgorOsa пишет:

      Пока поисковики все нормально кушают. Данный способ не является чем-то сверхестественным. Хотя, как говориться, пути Господне не исповедимы… Лучше конечно на всяк случай закрывать их от индексации.

Прокомментировать