Скрипт короткие ссылки на php и mysql - сокращение url

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

Это скрипт предназначен для переадресации с длинного uri на короткий с установленными выбранными функциями.

Как установить скрипт короткие ссылки

Для работы скрипта требуется php и база данных mysql.
Создать базу данных mysql, и в phpmyadmin импортировать дамп файл QuickLinks.sql. Залить файлы в архиве на сервер и отредактировать файл func.php прописав в нем данные для конекта к базе. Покрутить настройки index.php и запустить его.

Скачать
# Файлы:
.htaccess -       // для редиректа
func.php          // конект к mysql 
index.php         // основной файл
QuickLinks.sql    // дамп БД для импорта
script.js
style.css
Демо пример

Что умеет скрипт короткие ссылки:

Сам конфиг скрипта:

# php script config
setlocale(LC_TIME, "ru_RU.utf8");                                       
date_default_timezone_set('Europe/Moscow');                         # Временная зона
$_CONFIG['LOG_ERRORS'] = 0;                                         # Лог ошибок 
$_CONFIG['LOG_NEW_LINKS'] = 1;                                      # Лог новых ссылок
$_CONFIG['PASSWORD_ONOFF'] = 0;                                     # пароль включить/выключить 1/0
$_CONFIG['PASSWORD'] = '5825';                                      # пароль для публикаций ссылок
$_CONFIG['inPW'] = '0375';                                          # пароль админки
$_CONFIG['BAN_POST_URL'] = 'ftpn.ru|refer.hol.es';                  # Запрещенные домены
$_CONFIG['MAX_SYMBOL_LONG_URL'] = 4000;                             # максимум символов в длинным url, стандарт 4000.
$_CONFIG['MIN_SYMBOL_LONG_URL']= 8;                                 # минимум символов в длинном url (8 минимум)
$_CONFIG['MIN_SYMBOL_SHORT_URL'] = 3;                               # Минимум символов в коротком url 
$_CONFIG['MAX_SYMBOL_SHORT_URL'] = 40;                              # Максимум символов в коротком url
$_CONFIG['BAN_POST_SHORT_URL'] = 'xxx.html|fack';                   # Запрещенные короткие urlы 
$_CONFIG['SEND_HEADER_ARR'] = array('200 OK',                       # Отправляемые http заголовки
                                    '301 Moved Permanently',					
                                    '302 Found',
                                    '303 See Other',
                                    "418 I'm a teapot");
$_CONFIG['SEND_HEADER_DEFAUL'] = 2;                                 # Отправляемый заголовок по дифолту (счет с нуля)
$_CONFIG['CLOCK_TIME_DEFAUL'] = 168;                                # Время хранения ссылки в часах по дифолту (неделя => 7 дней * 24 часа = 168 часов)
$_CONFIG['CLOCK_TIME_ARR'] = array( 1 => 'час',                     # Дополнительные пункты "Время хранения ссылки".
                                    24 => 'сутки',				
                                    168 => 'неделя',			
                                    744 => 'месяц',
                                    4463 => 'полгода',
                                    87600 => 'максимум');           # 10 лет
$_CONFIG['CLOCK_TIME_SORT'] = 3;                                    # разбивка списка переменной CLOCK_TIME_ARR
$_CONFIG['REDIR_DOMAIN']= array('domain1.ru','domain2.ru');         # Список доменов по которым будет переадресация на длинную ссылку (без http:// и без слеша на конце домена)
$_CONFIG['URI_PROTOCOL_BAD'] = 'dns:|soldat:|ssh:|file:';           # запрещенные протоколы 
                                                                    # разрешенные протоколы:
$_CONFIG['URI_PROTOCOL_GOOD'] = 'cid:|crid:|data:|dav:|dict:|fax:|ftp:|go:|gopher:|h323:|http:|https:|im:|imap:|ldap:|mailto:|mid:|news:|nfs:|nntp:|pop:|pres:|rtsp:|tel:|telnet:|urn:|wais:|xmpp:|about:|aim:|bolo:|btc:|bzr:|callto:|chrome:|cvs:|daap:|ed2k:|ed2kftp:|feed:|fish:|git:|irc:|ircs:|lastfm:|ldaps:|magnet:|mms:|msnim:|rsync:|skype:|svn:|sftp:|smb:|sms:|steam:|unreal:|view-source:|vzochat:|webcal:|xfire:|ymsgr'; 

UPD: По просьбе накатал админку на коленке для примера.
Для входа введите адрес: www.domain.ru/script/?admin и введите пароль.


  1. # ОЛЕ 28 марта 2018, 19:29
    Проблема была в том, что нужно было свое доменное имя указать в $_CONFIG['REDIR_DOMAIN']= array().
    Спасибо за скрипт)))!
    1. # ОЛЕ 28 марта 2018, 19:03
      Без входа в админку этот скрипт должен работать? Поскольку при попытке перейти в админку выдает оповещение, что «Учетная запись отключена администратором сервера».
      Скрипт в меня тоже нормально не работает: выдает постоянно ошибку «Не удается получить доступ к сайту. ERR_NAME_RESOLUTION_FAILED»!
      К тому же, последние три колонки в БД остаются пустыми
      1. # Телевизор 28 марта 2018, 20:21 (Комментарий был изменён)
        Без входа в админку этот скрипт должен работать
        да.
        Эти ошибки не как не связаны со скриптом, это уже траблы на стороне сервера или браузера.
      2. # hi-cd 28 марта 2018, 12:41 (Комментарий был изменён)
        Доброго времени суток! Скрипт коротких ссылок так и не удалось запустить. Редирект не работает, перекидывает на сайт первоисточник. [ссылка]
        1. # Телевизор 28 марта 2018, 12:58 (Комментарий был изменён)
          1) В файле index.php в первой строке включите вывод ошибок на экран, вместо
          if (false) замените на if (true)
          2) Как мне кажется у Вас не обрабатывается / не настроен .htaccess учитывая что скрипт Вы положили в дерикторию.
          Попробуйте файл .htaccess положить в корень вашего домена и в самом файле .htaccess указать верный путь к скрипту
          RewriteRule ^-(.*) ПАПКА/?redirLink=$1 [L]
          В ведь ваш сайт при редиректе отдает страницу 404 — что означает не верно указанный путь, а путь должен быть к index.php скрипта, далее идет подключение к БД и выборка к переадресуемой ссылке.