Как сделать сокращение ссылки перед доменом?

Пример: оригинальная ссылка дпуостим: https://qna.habr.com
она превращается в: fsdf.namedomain
то есть сам короткий url должен быть перед доменом, и каждый раз при создании запроса будут меняться ссылка перед доменом

Дополнительно:

Пример: оригинальная ссылка дпуостим: https://qna.habr.com
она превращается в: fsdf.namedomain

Каким образом qna.habr.com превратился в fsdf.namedomain и каким образом это можно назвать "сокращением", если количество букв увеличилось?

  • Василий Банников, наверное он имеет в виду что на домене, эта часть "fsdf" - сокращение, которое переводит на qna.habr.com
    Но лучше дождаться пояснения автора
  • maksam07, да все верно
  • maksam07, sasd.sell.com — sasd - сокращение, и каждый раз при создании новой ссылки будет генерироваться новый "ключ" перед доменом. Но проблема в том, как сделать именно так, чтобы этот ключ был перед домен, а не как обычно после домена через слэш
  • Вам редирект нужен?
  • Зачем такие сложности?
  • Сергей Горностаев, ну вот нужно таким образом сделать сервис скокращения ссылки
  • Дмитрий, ну да. Просто тоже самое что обычный сервис сокращение, но только чтобы сама часть сокращения была перед доменов как я писал выше
  • Так а в чём сложность-то?
    Вы уже умеете сокращать ссылки обычным способом?
  • Lynn «Кофеман», ну у меня просто стоит готовый сркипт для сокращения "YOURLS", но с помощью него только создаются такие ссылки https://confirmsell.host/asdd, а надо чтобы было так https://asdd.confirmsell.host и в этом трудность у меня. Я понял лишь что должен каждый раз создаваться поддомен и от него идти редирект
  • Ну вам нужно сделать три вещи:
    1. ограничить доступные символы, т.к. в домене большие и маленькие буквы не различаются
    2. поправить место в котором ссылка создаётся
    3. научить сервер доставать токен из домена, а не из пути

    Всё это в общем-то несложно

  • mercciful, не надо ничего создавать. Прописываете в dns-зоне wildcard-запись, web-сервер настраиваете все запросы к поддоменам отправлять вашему web-сервису, в web-сервисе у всех прилетающих запросов из заголовка host выделяете субдоменную часть, находите в БД соответствующую ей запись и возвращаете клиенту редирект на ссылку.
  • Lynn «Кофеман», Сможете ли вы сделать это за плату ?
  • Lynn «Кофеман», или банально обучить как это все настроить
  • Сергей Горностаев, есть ли у вас возможность сделать этот проект или обучить?
  • mercciful, здесь таким не занимаются, с этим вам на https://freelance.habr.com
  • Сергей Горностаев, спс
  • mercciful, да там делов на пару минут. Вам надо будет поковырять вашу панель на хостинге, на предмет алиасов и поддоменов, там есть возможность виртуальные поддомены сделать, не помню как называется, возможно саппорт подскажет, несколько правил в .htaccess чтоб в скрипт находил токен, далее все тоже самое. Бд, редирект
  • Ответы:

    В вопросе три проблемы, которые нужно решить.
    1) xyz - расскрыть в полную ссылку и сделать перенаправление.
    муська тут избыточна (всетаки от нее нужно только роль кей-валуе хранилища)
    2) настроить сервер так, чтобы все запросы на субдомены шли на скрипт.
    А это DNS и какая-то серверная часть (хоть апач+пых, хоть что другое)
    3) httpS - сертификат на основной хост и все его субдомены (wildcard).

    из 2 и 3 следует учесть _acme-challenge. Похорошему нужно еще некоторые слова запретить использовать в качестве возможного ключа.

    В общем тут задача на 80 процентов для сис админа, а от програмиста нужно только 5 строк кода

     

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

     

      • Как сделать сокращение ссылки перед доменом?Есть ответ
      • 08.04.2024
      Ответить

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

      Вот пример кода на PHP, который сокращает ссылку перед доменом:

      $url = 'https://www.example.com/page';
      $domain = parse_url($url, PHP_URL_HOST);
       
      echo $domain;

      В данном примере мы используем функцию parse_url(), которая разбивает URL на компоненты. С помощью константы PHP_URL_HOST мы получаем только доменное имя из URL.

      Если вам нужно сократить ссылку перед доменом на JavaScript, вы можете воспользоваться следующим кодом:

      var url = 'https://www.example.com/page';
      var domain = new URL(url).hostname;
       
      console.log(domain);

      В данном примере мы используем конструктор URL для создания объекта URL из строки. Затем мы получаем только имя хоста с помощью свойства hostname.

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

    Оставить комментарий