Динамическое добавление алиасов на сайте

У меня есть сервис service.ru. Сервис позволяет, к примеру, создавать лендинг, который после создания доступен по адресу app.service.ru/34cea4529dee99485faa2342983bb2cf.

Нашему пользователю необходимо, чтобы созданная страница открывалась не по этому длинному нашему адресу, а по его фирменному, например, landing.client.ru. Клиентов может быть сколь угодно много: landing.client1.ru, landing.client2.ru, landing.client3.ru и так далее, поэтому решение должно быть масштабируемым. Важно, что после перехода на landing.client.ru не должен происходить редирект на app.service.ru/34cea4529dee99485faa2342983bb2cf, а в адресной строке браузера должен остаться landing.client.ru, но открыться должна страница app.service.ru/34cea4529dee99485faa2342983bb2cf Этот эффект виден при открытии яндекс.рф (открывается обычный yandex.ru, но в адресной строке сохраняется яндекс.рф).

Насколько мне удалось узнать, это делается как-то через алиасы, а не редиректы. Вариант со встраиванием клиенту на страницу landing.client.ru iframe с нашим лендингом не рассматривается. Я уверен, что задачу можно как-то решить с редактированием DNS у клиента и с определенными настройками на стороне service.ru/app.service.ru.

Я изучил много разных источников, но один хочу отметить здесь — https://stackoverflow.com/a/17753713 — я прописал у landing.client.ru CNAME cname.service.ru (теперь обращение идет к ip нашего сервера при переходе по landing.client.ru. Также я понял, что мне нужен VPS, а не обычный хостинг). Я понимаю, что редактирование CNAME не осуществляет открытие другого сайта, а просто дает ip для обращения.

Из разных статей в интернете я понял, что когда открывается landing.client.ru, то идет обращение к ip, на котором лежит cname.service.ru, однако, далее целевой сервер должен понять, что от него хотят (а именно нужно открыть, к примеру, app.service.ru/34cea4529dee99485faa2342983bb2cf).

Я видел, что вроде алиасы прописывают в конфиге Apache, но даже если так, то не понимаю, как добавление этих алиасов можно сделать динамическим.

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

Спасибо.


Ответы (0 шт):