Назад | Перейти на главную страницу

Расшифровать строку запроса URL с помощью Mod Rewrite / Regex

У меня следующий закодированный URL

https://example.com/external-image?url=http%3A%2F%2Fwww.thirdpartydomain.com%2FTWM%2FImages%2F1264%2F143242%2FFull%2F2201625016119496.jpg

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

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

Пример URL

https://example.com/external-image?url=http://www.thirdpartydomain.com/TWM/Images/1264/143242/Full/2201625016119496.jpg

Пример кода

  RewriteCond %{QUERY_STRING} url=((?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+).*) [NC]
  RewriteRule ^.*/external-image$ %1 [P,NC,L,E=new_host:%2]

  <If "-T reqenv('new_host')">
    RequestHeader set Host %{new_host}e
  </If>

Моя цель - закодировать мои параметры запроса в браузере, образуя действительный URL-адрес, а затем декодировать параметр запроса непосредственно перед тем, как я проксирую URL-адрес. У кого-нибудь есть мысли о том, как лучше всего с этим справиться?