установка базового URL относительного URL, начиная с косой черты - PullRequest
0 голосов
/ 20 ноября 2018

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

https://example-mysite.net/google/

будет перенаправлен на

https://google.net

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

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

<base href="https://example-mysite.net/google/">

относительные URL в теле, например,

<img src="stickman.gif">

будет перенаправлен на https://example -mysite.net / google / stickman.gif , и это будет корректно разрешено моим прокси и перенаправлено на https://google.net/stickman.gif

проблема в том, что относительные URL, начинающиеся с косой черты, такие как

<img src="/path/to/root/resource">

, посетят https://example -mysite.net/path/to/root/resource, что явно не то, что я хочу, так как я не знаю, куда мне перенаправить этот запрос.

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

...