Я создаю обратный прокси-сервер с приложениями виртуального пути, чтобы люди могли посещать целевой сайт, посещая мой сайт с верхним каталогом, указывающим, какой сайт они посещают.Например,
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, что явно не то, что я хочу, так как я не знаю, куда мне перенаправить этот запрос.
Есть ли способ решить эту проблему, поэтомучтобы я не потерял верхний каталог, указанный в базовом теге?