Подтвердить что ты не робот

ProxyHTML переписать URL-адрес

У меня установлено 2 сервера Apache. Один - на порту 80, другой - на порту 8077. Я хочу видеть все на сервере на 8077 через обратный прокси. На данный момент у меня есть:

ProxyPreserveHost Off
ProxyHTMLInterp On
ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/
ProxyHTMLURLMap / /translate/

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

Например, css в html отображается как

/css/style.css

где я действительно хочу, чтобы он был

/translate/css/style.css

Чтобы получить файл с сервера 8077. Что я могу сделать с текущими настройками, чтобы заставить это работать?

4b9b3361

Ответ 1

Хорошо, это то, что я сделал, чтобы заставить его работать

ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/

ProxyHTMLURLMap http://www.example.com:8087 /translate/

<Location /translate/>
   ProxyPassReverse /
   SetOutputFilter  proxy-html
   ProxyHTMLURLMap http://www.example.com:8077 /translate/
   ProxyHTMLURLMap / /translate/
   ProxyHTMLURLMap  /translate/ /translate/
   RequestHeader    unset  Accept-Encoding
</Location>

Это, кажется, работает хорошо. ProxyHTMLURLMap http://www.example.com:8077/translate/line был необходим только для перевода некоторых URL-адресов, основанных на "referrer", которые заставили некоторые страницы в конечном итоге попытаться напрямую обслуживать сервер портов 8077.