Как сделать промежуточный редирект?

Добрый день.

Возник небольшой вопрос - как делают промежуточные редиректы? Я использую на своем сайте GetGrav CMS и там нет стороннего плагина, который позволял бы это делать.
Знаю, что на вп есть плагины, которые сами создают прослойку между редиректом и сайтом, тем самым админ может откручивать рекламу проще.

Но тут с Гравом все немного сложнее.
Подскажите, пожалуйста, как сделать так, чтобы:
имеем сайт i.domen.com
на сайте есть ссылка на storage.domen.com/somefile.pdf - обычный index of/ от апача
как сделать так, чтобы человек, кликая на ссылку "скачать файл" попадал на 3-5 секунд на промежуточную страницу типа ad.domen.com/12hfye (или что-то наподобие), на которой откручивалась бы простая быстрая ненавязчивая реклама, а по истечении 5 секунд (или по клику на кнопку "перейти") человек сразу же попадал на storage....?

Дело в том, что я могу руками создать +20 (там много файлов) страниц с редиректом, а потом в админке сайта поменять ссылку на файл на ссылку на редирект, но вот вопрос - а как тогда сделать эти редиректы?
Знаний пхп, js у меня маловато, и я очень слабо представляю, как это можно создать.

Может, есть готовые (не сторонние - это немаловажно) решения, которые автоматически генерировали бы промежуточный редирект? Что-то наподобие bit.ly, где бы ты указывал страницу выхода (ссылка на storage), а он кидал бы тебе ссылку редиректа типа ad.domen.com/s13g

Заранее спасибо за ответ! Если что-то непонятно - я поясню
p.s. вариант с self-hosted промежуточный редирект системой был бы, если честно, самым удобным.
вопрос в том, существуют ли такие.
  • Вопрос задан
  • 284 просмотра
Пригласить эксперта
Ответы на вопрос 1
@LemonFox
stateless mind
https://learn.getgrav.org/content/routing

Настраиваете роутинг что-то типа

routes:
   /download/(.*): '/download/$1'


Теперь у вас будут ссылки типа /download/blahblahblah

В роуте ищите файл, выводите рекламу + выводите мета-тег для редиректа на найденный файл

<meta http-equiv="refresh" content="seconds;URL-to-redirect">
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы