10 лучших php-скриптов для сокращения ссылок

История

Патент был подан в сентябре 2000 г .; хотя патент был выдан в 2005 году, заявки на патенты США публикуются в течение 18 месяцев с момента подачи.

Еще одно упоминание о сокращении URL-адресов было сделано в 2001 году. Первая известная служба сокращения URL-адресов, TinyURL , была запущена в 2002 году. Его популярность повлияла на создание по крайней мере 100 подобных веб-сайтов, хотя большинство из них являются просто альтернативными доменами. Первоначально автоматически переводил URL-адреса длиной более двадцати шести символов с помощью TinyURL, хотя в 2009 году он начал использовать bit.ly, а позже разработал собственную службу сокращения URL-адресов, t.co.

14 августа 2009 года WordPress объявил о сокращении URL-адресов wp.me для использования при ссылке на любую запись в блоге WordPress.com. В ноябре 2009 года сокращенные ссылки на bit.ly были просмотрены 2,1 миллиарда раз. Примерно в то время наиболее широко используемыми сервисами сокращения URL-адресов были bit.ly и TinyURL .

Одна служба, tr.im, прекратила генерировать короткие URL-адреса в 2009 году, обвиняя в отсутствии механизмов получения дохода для покрытия расходов и использовании Twitter по умолчанию сокращателя bit.ly , а также ставя под сомнение, могут ли другие службы сокращения быть прибыльными от сокращения URL-адресов в длительный срок. Он возобновился на время, затем закрылся.

Кратчайшие возможные долгосрочные URL-адреса были сгенерированы NanoURL с декабря 2009 г. примерно до 2011 г., связанные с доменом верхнего уровня .to (Тонга), в форме http://to./xxxx , где xxxx представляет собой последовательность случайных цифры и буквы.

14 декабря 2009 года анонсировал сервис под названием Google URL Shortener на goo.gl, который изначально был доступен только для использования через продукты Google (такие как панель инструментов Google и FeedBurner ) и расширения для Google Chrome . 21 декабря 2009 года Google представил YouTube URL Shortener, youtu.be. С сентября 2010 года Google URL Shortener стал доступен через прямой интерфейс. Сервис goo.gl предоставляет подробные аналитические данные и генератор QR-кода. 30 марта 2018 года объявил, что «в ближайшие недели откажется от поддержки goo.gl и заменит его ссылками » (хотя существующие ссылки на goo.gl будут продолжать работать).

Реализация

Приступим к непосредственной реализации. Дальнейшие действия будут происходить в редакторе кода, который предоставляет нам Cloudlfare. Мы его уже видели перед тем как инициализировать новый Worker. Вернемся туда воспользовавшись кнопкой «Quick edit» на странице нашего проекта.

Редактор кода

У нас сервис будет состоять из двух частей:

  • Переадресация

  • Запись нового сокращения

Для реализации переадресации напишем функцию которая будет брать значение из нашей базы данных и в случае нахождения введенного нами пути (URL path) будет создавать редирект. В ином случае будем выдавать ошибку 404.

Тут же, в правой половине редактора который позволяет сделать дебаг еще не задеплоенного код, проверяем работу переадресации:

Есть контакт!

Теперь приступим к реализации второй части. Тут задача будет более объемной. Для начала мы будем определять что это к нам постучался Telegram через заданный нами URL. Дальше проверим что это боту написали мы, чтобы никто другой не имел доступа к боту пропишем наш Telegram User ID в константу. Следующим шагом достанем из присланного сообщения короткий путь и ссылку куда переадресовывать и запишем ссылку в базу данных. В конце подключим нашего бота через webhook’и.

Тут же, в дебаге, проверяем работу нашего кода:

Выглядит работоспособно

Заглянем в нашу базу данных чтобы убедиться что все записалось (тут же можем почистить хранилище от наших тестовых значений):

Работает

Осталось дело за малым – повесить на нашу страницу Telegram Bot Webhook. У нас для этого все готово, поэтому воспользуемся ссылкой формата:

Ответ Telegram API должен быть:

7. Shortny B — Shorten in Style

Если вы ищете простой и стильный сокращатель, вам нужно взглянуть на Shortny B — Shorten in Style. С его отзывчивым дизайном и чистым внешним видом, реклама с перенаправлением URL редко выглядит так хорошо.

Когда URL-адреса сокращаются, у пользователей есть несколько вариантов настроек:

  • вобор тегов, позиция сверху или снизу для размещения объявлений
  • добавление кнопки с настраиваемым URL-адресом
  • установка текста заголовка
  • Пользовательский URL

А затем можно конировать и делиться своей недавно созданной ссылкой.

После того, как ссылка будет доступна, можно посмотреть статистику ссылок:

  • топ визиты
  • топ ссылки
  • и многое другое

Back-end панели администратора есть возможности:

  • изменять настройки сайта
  • редактировать и удалять ссылки
  • добавлять скрипты трекинга
  • веб-статистика
  • и многое другое

Shortny B — Shorten in Style — элегантный сокращатель, который стоит попробовать.

Лучшие сервисы сокращения ссылок

Эти 4 сервиса коротких ссылок считаются лучшими и самыми надёжными:

  1. goo.gl
  2. vk.com/cc
  3. clck.ru
  4. bitly.com

Все сервисы абсолютно БЕСПЛАТНЫ!

Для тех, кто сокращает ссылки от различных партнёрских программ, я рекомендую настроить и использовать сервисы «битли» или «goo.gl».

1. Сервис коротких ссылок от Гугл

Google URL Shortener — это самый популярный сервис сокращения ссылок.

Во-вторых, он работает через надёжный аккаунт на сайте Google. В котором хранятся все данные о сокращённых нами ссылках и статистика переходов по ним.

Как сократить ссылку в сервисе goo.gl

Как и во всех последующих сервисах, просто вставляете в строку свою ссылку и нажимаете «Shorten URL» (Сократить URL). Справа сразу отобразится ваша короткая ссылка и миниатюра страницы сайта.

Сохраняете сервис себе в закладки и пользуетесь.

2. Сервис коротких ссылок ВК

Ещё более простой и популярный сервис от социальной сети ВКонтакте. Создаёт ссылки в таком виде: https://vk.cc/4gqCQP.

Не имеет личного кабинета, поэтому созданные короткие ссылки и их статистику вы нигде не увидите.

3. Серьёзный укорачиватель URL — Кликер

Сервис сокращения ссылок «Кликер» от Яндекса, также прост в обращении, как и сервис от ВКонтакте.

Вставил ссылку, нажал и получил короткую. Никакого хранения ссылок и статистики.

После нажатия на кнопку «Клик» у вас покажется окно с короткой ссылкой.

К ссылке автоматически создаётся  QR-код. Ну и последний сервис — «Битли», который я разберу очень подробно и покажу, как настроить свой домен для короткой ссылки.

4. Сервис для сокращения ссылок — bitly.com

Bit ly — это профессиональный сервис для сокращения ссылок. Узнал о нём буквально на днях, сразу настроил его и начал использовать.

Понравился он мне тем, что здесь также как в Google есть все данные по моим ссылкам и то, что у него есть возможность привязать свой оригинальный домен. Я купил похожий домен — iklife-pro.ru и теперь делаю все свои некрасивые ссылки через него.

1. Регистрация в bitly.com

Сервис не переведён на русский, поэтому все последующие скриншоты будут на английском языке.

Чтобы зарегистрироваться, нажимаете кнопку «SIGN UP» (Зарегистрироваться).

Предлагается зарегистрироваться через Facebook или Twitter-аккаунт. Я рекомендую сразу ввести данные и создать свой пароль.

Ставите галочку от капчи «Я не робот» и нажимаете «CREATE ACCOUNT» (Создать аккаунт).

2. Как сократить ссылку в Битли

После того, как вы вставите сюда свою длинную ссылку, справа автоматически откроется окно с настройками, где нужно выбрать URL-адрес и прописать свой тег.

Пока у вас не настроен свой домен, сервис предлагает 3 стандартных варианта:

  1. bit.ly
  2. bitly.com
  3. j.mp

В место рандомного тега ссылки можно прописать свой, тогда ваша короткая ссылка будет примерно выглядеть так — https://bit.ly/uroki

3. Как подключить свой домен в сервисе bitly

Первым делом нужно придумать и купить домен. Я покупаю домены в зоне .ru на сайте reg.ru за 99 рублей. После того, как зарегистрировали домен, заходите в настройки битли.

Открываем вкладку «ADVANCED» и находим строчку Activate a Branded Short Domain for personal use.

После того, как вы впишете свой короткий домен и нажмёте «ADD» (Добавить). Нужно будет привязать его по IP с сервисом bitly.com.

Ниже в серой рамке появится окно с инструкцией, в котором отобразится IP-адрес. Заходите туда, где покупали домен, находите там настройку DNS-серверов и создаёте запись «А» с этим IP-адресом.

Останется немного подождать, пока настройки домена вступят в силу. И ваш новый домен будет привязан к серверу сокращения ссылок bit ly.

Левая сторона правила

  • указывает начало имени страницы – поэтому он перепишет , но не
  • Каждый набор круглых скобок представляет собой регулярное выражение, которое мы можем записать как переменную в правой части правила. В этом примере:
    • Первый набор скобок – – соответствует строке с длиной не менее 1 символа и только с числовыми значениями (например, 0-9). На это можно ссылаться на в правой части правила
    • Второй набор круглых скобок соответствует строке длиной не менее 1 символа, содержащей только буквенно-цифровые символы (AZ, az или 0-9) или или (примечание экранировано с обратная косая черта, так как без нее это будет выполняться как символ повторения регулярных выражений). На это можно ссылаться на в правой части правила
  • означает, что предыдущий символ является необязательным, поэтому в этом случае оба и переписываются в одно и то же место
  • указывает, что это конец строки, которую мы хотим сопоставить

Сервис Byt.ly

Это ещё один популярный сервис-сократитель ссылок, которым пользуются в разных странах мира. Получить с его помощью короткие URL-адреса можно даже без предварительной регистрации. Если же всё-таки зарегистрироваться, то предусмотрена возможность получения доступа к статистике по использованию ваших URL. Также такие пользователи могут давать любое имя короткой ссылке. Есть ещё платный функционал, который предусматривает более серьёзные возможности.

Итак, что делать, чтобы получить сокращённый URL:

  1. Пользователь должен войти на сайт bytly.
  2. В поле генерирования URL нужно вставить длинный адрес.
  3. В автоматическом режиме сервис произведёт короткий url.
  4. Чтобы скопировать готовый URL-адрес, необходимо нажать кнопку «Copy».

Под полем будет находиться оригинальная ссылка, а под ней – короткая.

Зачем использовать сократитель URL-адреса?

Давайте рассмотрим некоторые причины, по которым вам следует использовать сократитель URL-адресов.

  • Во-первых, сократители URL-адресов упрощают использование длинных URL-адресов и управление ими. Это особенно верно при обмене URL-адресами на платформах микроблогов или в мобильных приложениях для обмена сообщениями.
  • Кроме того, сократители URL-адресов могут помочь вам избежать слишком длинных и запутанных URL-адресов или любых URL-адресов, которые содержат беспорядочные буквы и цифры.
  • Некоторые сократители ссылок позволяют создавать собственные брендированные URL-адреса.
  • Их намного легче читать, запоминать и печатать. Это делает их особенно полезными при совместном использовании URL-адресов в любой форме печатной рекламы, такой как плакаты, листовки, журналы или визитные карточки.
  • Брендированные короткие ссылки получают до 39% больше кликов по сравнению с обычными короткими URL.
  • Наконец, несмотря на то, что URL-адреса сокращены, одним из ключевых преимуществ сокращения ссылок является возможность отслеживать, как ваша аудитория взаимодействует с вашими ссылками. Современные средства сокращения URL-адресов предоставляют доступ ко множеству показателей и аналитическим данным, которые маркетологи могут использовать для проверки и улучшения своих кампаний.

Как расшифровать короткие ссылки

Короткие ссылки способны перебросить вас куда угодно, может быть и на нежелательный сайт мошенников.

Поэтому, прежде чем переходить по такой ссылке, желательно ее расшифровать и посмотреть, куда она ведет.

Для этого существуют специальные сервисы, например, http://untiny.me.

Но надо сразу заметить, что работают они не со всеми ссылками. Какие-то они расшифровывать не научились, но попробовать всегда стоит.

Здесь также вставляем короткую ссылку, например, http://tinyurl.com/52e38  в предлагаемое поле и нажимаем на кнопку Extract – Извлечь.

Немного ниже появится полный адрес ссылки — http://www.yandex.ru/, из которого не трудно понять, куда она ведет.

Поэтому всегда рекомендуется короткие ссылки расшифровывать. Лучше подстраховаться и проверить, куда ведет тот или иной адрес.

В целом, короткие ссылки являются хорошим инструментом, который реально способен помочь при работе в интернете.

ШАГ 10. Установка Yourls на несколько доменов

Проблема: По разным причинам, требуется сокращение ссылок для разных доменов или поддоменов с использованием одной установки Yourls. То есть вы хотите чтобы работали ссылки для двух доменов https://your.domain и https://second.your.domain.

Официально Yourls не поддерживает установку на несколько доменов. Но если почитать форумы, то можно найти несколько приемлемых и на первый взгляд работающих решений.

Решение 1. (Я не тестировал этот способ). Использовать запись CNAME в настройке DNS для другого домена или поддомена. То есть достаточно в DNS создать запись second.your.domain CNAME your.domain. Плюсы — это простое решение. Минусы вы не сможете разделить статистку по доменам.

Решение 2. (Я не тестировал этот способ). Это решение известно с 2014 года. И заключается в создании двух виртуальных доменов

Зачем сокращать ссылки

На первый взгляд, проблема длины адреса страницы не должна волновать обычных пользователей. «Ну и что тут такого, если ссылка выглядит некрасиво, ведь основная цель – перейти по ней, а не вчитываться в каждую букву?» Однако, помимо плевка на эстетику, длинные ссылки доставляют и другие неудобства:

  • Ограничение на длину сообщений, действующее на некоторых сайтов. Если максимально возможное количество символов – 100, а ваша ссылка заняла 94, то места хватит только на «Привет»;
  • Неудобство при отправке ссылки не онлайн. Конечно, никто не говорит о голубиной почте, но бывают ситуации, когда адрес страницы отправляется sms-сообщением или записывается на листе бумаги. В этом случае краткость будет нелишней;
  • Прочитать длинную ссылку – мучение. На первый взгляд, трудно представить, что один пользователь, скажем, в Контакте, звонит другому и диктует адрес забавного сайта. Однако ситуации, когда ссылку требуется произнести вслух посимвольно, иногда случаются.

Как сокращаются ссылки

Если вы владеете своим информационным ресурсом и размещаете ссылку в рамках публикуемой статьи, то можете полностью скрыть неэстетичные символы в теге <a> (заменить http/… на какое-то слово или фразу). Также некоторые сайты поддерживают возможность форматирования сообщений пользователей с помощью html-тегов.

Но когда использовать теги нельзя, а сократить «страшную» ссылку, взятую, к примеру, из ВК, необходимо, в дело вступают различные онлайн-сервисы.

Весь смысл преобразования адреса страницы – это заменить длинную последовательность символов короткой. После клика по короткой ссылке пользователь будет перенаправлен на нужную страницу, адрес которой сохранен в базе используемого онлайн-сервиса.

Также специализированные онлайн-сервисы часто предоставляют статистику переходов пользователей по созданной короткой ссылке.

С помощью чего сокращать

Рассмотрим основные сервисы, которые предоставляют возможность сокращения ссылок.

Vk.com. Для того чтобы сократить ссылку Вконтакте, достаточно перейти по адресу https://vk.com/cc, ввести адрес ссылки и получить короткий вариант, нажав на соответствующую кнопку:

Google. Действия аналогичны: переходим по адресу http://goo.gl/, вводим свою ссылку и получаем короткую:

Помимо, собственно, преобразования адреса, сервис сокращенных ссылок от Гугл позволяет просматривать статистику по переходам пользователей.

Приятная особенность продукта от Яндекса – это транскрипция полученной ссылки для удобного произношения.

Особняком выступает популярнейший сервис микроблогов :

Всем известно, что сообщения там ограничены по длине 140 символами, поэтому длинные ссылки могут даже не уместиться в публикуемом посте. Для того чтобы сократить ссылку для Твиттера, вам не надо делать никаких лишних движений: система сработает за вас и преобразует адрес в более компактный. При этом, конечно, можно воспользоваться и другими способами, например, представленными ниже онлайн-сервисами.

  • TinyURL;
  • cli.gs;
  • bit.ly.

Данные сервисы пользуются популярностью у пользователей, однако сокращение своих ссылок лучше доверять более «матерым» игрокам интернет-бизнеса. Причина этого – возможные проблемы, которые могут возникнуть на более мелких сайтах, а, как следствие – недоступность ваших коротких адресов. Согласитесь, Гугл редко не работает, и трудно представить, что такое когда-нибудь произойдет.

Таким образом, интернет предоставляет множество сервисов, которые позволяют сократить слишком длинную ссылку. При выборе онлайн-сервиса стоит руководствоваться стабильностью его работы.

ДИДмитрий Ивашкоавтор

Методы

При сокращении URL-адресов каждый длинный URL-адрес связан с уникальным ключом , который является частью его доменного имени верхнего уровня . Например, https://tinyurl.com/m3q2xt имеет ключ m3q2xt . Не все перенаправления обрабатываются одинаково; инструкция перенаправления, отправляемая браузеру, может содержать в своем заголовке статус HTTP 301 (перемещено постоянно), 302 (найдено), 307 (временное перенаправление) или 308 (постоянное перенаправление).

Существует несколько методов сокращения URL-адресов. Ключи могут быть сгенерированы по базе 36 , предполагающей 26 букв и 10 цифр. В этом случае каждый символ в последовательности будет 0, 1, 2, …, 9, a, b, c, …, y, z . В качестве альтернативы, если прописные и строчные буквы различаются, то каждый символ может представлять одну цифру в пределах числа (26 + 26 + 10). Чтобы сформировать ключ, может быть создана хеш-функция или случайное число, сгенерированное таким образом, чтобы последовательность ключей была непредсказуемой. Или пользователи могут предлагать свои собственные ключи. Например, https://example.com/product?ref=01652&type=shirt можно сократить до https://tinyurl.com/exampleshirt .

Не все схемы URI могут быть сокращены с 2011 года, хотя схемы URI, такие как http , https , ftp , ftps , mailto , mms , rtmp , rtmpt , ed2k , pop , imap , nntp , news , ldap , gopher , dict и DNS адресуются такими сервисами, как сокращатели URL. Обычно URL-адреса data: и javascript: не поддерживаются по соображениям безопасности (для борьбы с атаками, такими как межсайтовый скриптинг и захват сеанса ). Некоторые URL укорочение службы поддержки пересылки MAILTO URL — адреса, в качестве альтернативы адреса munging , чтобы избежать нежелательного урожая с помощью поисковых роботов или ботов . Иногда это можно сделать с помощью коротких URL-адресов, защищенных CAPTCHA , но это нечасто.

Создатели сокращателей URL-адресов обычно регистрируют доменные имена с менее популярными или эзотерическими доменами верхнего уровня , чтобы получить короткий URL-адрес и запоминающееся имя, часто используя взлом домена . Это приводит к регистрации различных сокращателей URL-адресов во множестве разных стран, не оставляя никакой связи между страной, в которой был зарегистрирован домен, и самим средством сокращения URL-адресов или сокращенными ссылками. Были использованы домены верхнего уровня таких стран, как Ливия ( .ly ), Самоа ( .ws ), Монголия ( .mn ), Малайзия ( .my ) и Лихтенштейн ( .li ), а также многие другие. В некоторых случаях политические или культурные аспекты страны, отвечающей за домен верхнего уровня, могут стать проблемой для пользователей и владельцев, но обычно это не так.

Сервисы могут записывать входящую статистику, которую могут публично просматривать другие.

Использование серверных переменных в правилах настройки ЧПУ

Серверные переменные это набор элементов, которые проверяются в условия настройки ЧПУ. Использование этих переменных позволяет применять правила основанные на разных параметрах запросов, включая определение параметров браузера, параметров URL и определение множества других строковых значений. Синтаксис написания выглядит следующим образом:

	%{ИМЯ_ПЕРЕМЕННОЙ}

В условиях правил настройки «ИМЯ_ПЕРЕМЕННОЙ» заменяется на следующие значения:

  • Заголовки HTTP
    • HTTP_USER_AGENT
    • HTTP_REFERER
    • HTTP_COOKIE
    • HTTP_FORWARDED
    • HTTP_HOST
    • HTTP_PROXY_CONNECTION
    • HTTP_ACCEPT
  • Переменные соединения
    • REMOTE_ADDR
    • REMOTE_HOST
    • REMOTE_USER
    • REMOTE_IDENT
    • REQUEST_METHOD
    • SCRIPT_FILENAME
    • PATH_INFO
    • QUERY_STRING
    • AUTH_TYPE
  • Внутренние переменные сервера
    • DOCUMENT_ROOT
    • SERVER_ADMIN
    • SERVER_NAME
    • SERVER_ADDR
    • SERVER_PORT
    • SERVER_PROTOCOL
    • SERVER_SOFTWARE
  • Переменные даты и времени
    • TIME_YEAR
    • TIME_MON
    • TIME_DAY
    • TIME_HOUR
    • TIME_MIN
    • TIME_SEC
    • TIME_WDAY
    • TIME
  • Специальные переменные
    • API_VERSION
    • THE_REQUEST
    • REQUEST_URI
    • REQUEST_FILENAME
    • IS_SUBREQ

Бесплатный сервис 9tl.ru

Сервис 9tl.ru предоставляет бесплатное сокращение ссылок, удобным и доступным каждому находящемуся за компьютером. Он предоставляет самые разные возможности своим пользователям: гео таргетинг, девайс таргет, защита url паролем, изменение названия укороченной ссылки на какое-либо своё, предусматривающие срок годности ссылки и пр. Все возможности предоставляются после регистрации.

Чтобы получить сокращённый URL, необходимо выполнить такие же действия, как и на большинстве других подобных сайтов: зайти на сервис – вставить в поле длинный URL – нажать кнопку «Укоротить ссылку» – моментально получить короткий URL.

Предыстория

Идея «легкого сокращателя ссылок» пришла ко мне в момент поиска варианта переадресации с использованием домена для одной из комнат в новомодной соцсети Clubhouse. Суть идеи переадресации для комнаты состоял в том, чтобы перезапускать комнату с одинаковым названием, но постоянным онлайном. Решить нужно было проблему постоянной смены адреса комнаты припарковав такую ссылку к под-домену.

Решение напросилось само собой, так как сайт был заранее посажен на Cloudflare. Изначально использовала функция «Page Rules», которая позволяет задать, в том числе, правила переадресации, но вскоре пришла идея сделать эту переадресацию более гибкой и изменяемой без нужды заходить в настройки сервиса. Конечно же, таким решением стал Telegram Bot.

6. URL Shortener with Ads and Powerful Admin Panel

The URL Shortener with Ads and Powerful Admin Panel — это еще одна система типа AdFly. Когда пользователь нажимает на ссылку, созданную этим сокращателем, перед отображением исходного URL отображается до двух страниц рекламы.

С технической стороны функционал включает в себя:

  • Работает на PHP / MySql
  • настраиваемые шаблоны
  • включает API, файлы LESS и скомпилированный CSS

Некоторый функционал пользователя и администратора включает:

  • назначение различных права администратора
  • Поддержка AdSense и аналитики
  • Социальные ссылки
  • поисковые URL-адреса
  • и многое другое

URL Shortener with Ads and Powerful Admin Panel включает в себя достаточно возможностей для создания собственного рекламного сокращателя ссылок.

Подготовка

Казалось бы, все предусловия соблюдены, — «Какая еще подготовка?». Предлагаю отметить несколько шагов подготовки к реализации:

1. Создание хранилища – нам поможет Cloudflare KV.

Cloudflare KV — это база данных для Worker’ов по принципу «ключ — значение». Как вы поняли, вторая проблема решилась силами самого Cloudflare.

Последовательность простая: на странице наших Workers переходим во вкладку KV, вводим желаемое имя для хранилища, нажимаем добавить.

Страница Cloudflare KV

По результату можем даже посмотреть что находится внутри нашего хранилища. Не удивительно что ничего, но мы можем сюда загрузить наши желаемые сокращения напрямую. Это может понадобиться для старта работы с ними, например, протестировать сначала переадресацию.

Внутри нашего хранилища

2. Создаем свой Worker и настраиваем его.

Для этого воспользуемся кнопкой «Create worker», в редакторе сразу сохраним и задеплоим новый Worker («Save and Deploy») и вернемся обратно в меню.

Так выглядит страница нового Worker’а

Сразу задаем вменяемое имя и перейдя в «Settings» запишем токен нашего Telegram бота, а также привяжем хранилище.

Настройки Worker’а

3. Привяжем под-домен к скрипту

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

Страница Workers для нашего домена

А именно, нам надо на странице «Workers» для нашего домена добавить свой «Route» на будущий сервис-сокращатель.

Добавление нового перенаправления

Заметьте, что звездочка вконце ссылки обозначает то, что любое значения после нашего домена (path — путь) будет направляться в сокращатель.Это важный аспект для того чтобы дальше все сработало.

Соответственно, создаем также запись в DNS чтобы все запросы проходили DNS проверку.

Новая запись в DNS по которой будет находиться сокращатель ссылок

Готово! Можем приступать к кодированию.

Флаги

Это параметры, которые добавляются в квадратных скобках в конце вашего правила перезаписи, чтобы указать определенные условия. Опять же, существует много разных флагов, которые вы можете прочитать в документации, но я рассмотрю некоторые из наиболее распространенных флагов

Флаг case не означает, что правило перезаписи нечувствительно к регистру, поэтому для приведенного выше правила примера это будет означать, что оба и (или любое изменение этого) будут сопоставлены.

Последний флаг указывает, что это последнее правило, которое необходимо обработать. Это означает, что в том и только в том случае, если это правило соответствует, никакие дополнительные правила не будут оцениваться в текущем запуске обработки перезаписи. Если правило не соответствует, все остальные правила будут проверяться, как обычно. Если вы не установите флаг , все последующие правила будут применены к переписанному URL-адресу впоследствии.

С Apache 2.4 вы также можете использовать флаг . Правило сопоставления с ним полностью завершит дальнейшую обработку псевдонимов/перезаписи. (В то время как флаг может часто запускать второй раунд, например, при переписывании в или из подкаталогов.)

Флаг добавления строки запроса позволяет нам передать дополнительные переменные указанному URL, который добавится к исходным параметрам get. В нашем примере это означает, что что-то вроде будет загружать

Этот флаг не тот, который я использовал в приведенном выше примере, но это тот, о котором я думал, стоит упомянуть. Это позволяет указать перенаправление http, с возможностью включения кода состояния (например, ). Например, если вы хотите сделать 301 переадресацию в /myblog/to/blog/, вы просто напишите правило примерно так:

В чем опасность сокращенных ссылок?

Короткие ссылки значительным образом упрощают работу вебмастеров и блогеров. Они позволяют делать текст более компактным и завоевать лояльность аудитории. Однако у short-link имеются и недостатки. Ими могут воспользоваться злоумышленники, распространяющие вирусы и заманивающие людей на мошеннические сайты.

Чтобы защитить себя от перехода по ссылкам, содержащим вредоносный код, следует пользоваться специализированными сайтами. Они проверяют безопасность этих ссылок.

Если сервис реагирует негативно, от перехода на подозрительные сайты лучше отказаться. На просторах интернета немало мошенников, поэтому проявление бдительности лишним не будет.

Перенаправление домена без изменения URL

В этой статье «Перенаправление домена без изменения URL» я приведу несколько способов перенаправить ваш сайта на другой адрес, не меняя домен.

Пример 1: Перенаправление с удержанием всего что после URL-а:

Первый вариант будет показать все содержимое одного URL-а и передавать параметры в другой. Например, если вы только что изменили свой домен на Domain_name_B.org, но вы все еще имеете много посетителей которые помнят, используют ( нравится) домен Domain_name_A.org, то вы должны использовать данное перенаправление (которое внизу).

Apache.

Чтобы сделать это, вы должны изменить свой .htaccess файл для домена и вставьте следующие строки кода:

RewriteCond %{HTTP_HOST} ^Domain_name_A.org
RewriteRule ^(.*) http://Domain_name_B.org/$1 

Если вы используете файловый менеджер в CPanel, убедитесь, что у вас есть возможность показать скрытые файлы.

Что делает редирект что выше?

После добавления этой строки в файл .htaccess, вы сможете перейти к Domain_name_A.org/My_page и он будет перенаправлен на Domain_name_B.org/My_page

Nginx.

Так же редирект, но на nginx будет выглядеть следующим образом:

# nginx configuration
location / {
                      if ($http_host ~ "^Domain_name_A.org"){
                                              rewrite ^/(.*) http://Domain_name_B.org/$1 redirect;
                                              }
                     }

Добавляем его в Ваш хост, например:

# vim /etc/nginx/conf.d/linux-notes.org.conf

И заменяем Domain_name_A.org и Domain_name_B.org на соответствующие домены (URL-ы).

Пример 2: Перенаправление домена на определенный URL

Apache.

Существует еще один способ сделать ваш перенаправление, чтобы показать определенный URL, но сохранить домен же, как хорошо. Если вы хотите, чтобы посетители, чтобы перейти к DomainA.com с определенной страницы в виду, когда делает это так, вы можете использовать этот код:

RewriteCond %{HTTP_HOST} ^Domain_name_A.org
RewriteRule ^(.*) http://Domain_name_B.org/Path_To_Page_Here 

Вы должны использовать этот метод, если, например, вы используете поддомен и ходите сделать перенаправление в конкретную папку или у Вас есть отдельный блок ( например покупка-продажа).

Nginx.

Так же редирект, но на nginx будет выглядеть следующим образом:

# nginx configuration
location / {
                     if ($http_host ~ "^Domain_name_A.org"){
                                         rewrite ^/(.*) http://Domain_name_B.org/Path_To_Page_Here redirect;
                                         }
                     }

Добавляем его в Ваш хост, например:

# vim /etc/nginx/conf.d/linux-notes.org.conf

И заменяем Domain_name_A.org и Domain_name_B.org на соответствующие домены (URL-ы) и путь к нужному редиректу (папку).

Пример 3: Перенаправление IP адреса на URL

Apache.

Иногда,  необходимо направить IP адрес  к конкретному URL. Следующий код показывает, как это может быть сделано в файле .htaccess.

Перенаправление  IP-адреса (нужно заменить XX  Ваш на IP-адрес) на указанный домен (URL) http://domain_name.org:

RewriteCond %{HTTP_HOST} ^XX\.XX\.XX\.##
RewriteRule (.*) http://domain_name.org/$1 

Nginx.

Так же редирект, но на nginx будет выглядеть следующим образом:

# nginx configuration
location / {
                     if ($http_host ~ "^XX\.XX\.XX\."){
                                          rewrite ^(.*)$ http://domain_name.org/$1 redirect;
                                           }
                    }

Добавляем его в Ваш хост, например:

# vim /etc/nginx/conf.d/linux-notes.org.conf

И заменяем Domain_name.org на соответствующие домен (URL) и, ХХ — на Ваш IP.

Внимание: При использовании первого варианта, поисковые системы, такие как Google или Bing увидите несколько сайтов с одинаковым содержанием и может привести к падению Вашего рейтинга (ранга) в одном или обоих сайтов. С точки зрения SEO, лучшим вариантом является создание 301 перенаправляет вместо этого

По этому, будьте предельно осторожны с перенаправлениями!

Моя тема «Перенаправление домена без изменения URL» завершена.

Заключение

В итоге у нас получился короткий и легкий в реализации «сокращатель ссылок» который мы можем модифицировать по нашему усмотрению.

Стоит отметить, что такой подход имеет некоторые ограничения с которыми можно ознакомится на странице Cloudflare Worker’ов. Если коротко, то:

  • записывать в БД мы можем до 1000 значений в день (максимально возможное количество созданных сокращений);

  • считывать из БД до 100 000 раз в день (максимальное количество посещений);

  • сам скрип может быть запущен до 100 000 раз в день (количество сообщений боту и посещений сокращенных ссылок);

  • скрипт должен запускаться не больше 1000 раз в минуту.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: