Виртуальные хосты Apache без изменения URL - PullRequest
0 голосов
/ 17 июня 2019

Я использую сервер Apache httpd на Windows.Я использую это для запуска 2 колб приложений в разных портах, используя виртуальные хосты в httpd-vhosts.conf.

<VirtualHost *:80>
     ServerName ncapp01
     ProxyPass /app1 http://ncapp01:8081/
     ProxyPassReverse /app1 http://ncapp01:8081/

     ProxyPass /app2 http://ncapp01:8080/
     ProxyPassReverse /app2 http://ncapp01:8080/
</VirtualHost>

Listen 8081
<VirtualHost *:8081>
        ServerName  ncapp01
        WSGIScriptAlias / "C:/Sites/app1/web.wsgi"
        WSGIPassAuthorization On
        DocumentRoot "C:/Sites/app1"
        <Directory "C:/Sites/app1/">
          Options +Indexes +Includes +FollowSymLinks +MultiViews +ExecCGI
            AllowOverride All
            Require local
        </Directory>
</VirtualHost>

Listen 8080
<VirtualHost *:8080>
        ServerName  ncapp01
        WSGIScriptAlias / "C:/Sites/app2/web.wsgi"
        WSGIPassAuthorization On
        DocumentRoot "C:/Sites/app2"
        <Directory "C:/Sites/app2">
          Options +Indexes +Includes +FollowSymLinks +MultiViews +ExecCGI
            AllowOverride All
            Require local
        </Directory>
</VirtualHost>

Это успешно работает и перенаправляет /app1 в http://ncapp01:8081/ и /app2 в http://ncapp01:8080/.Но нет никакого способа управлять внутренними ссылками.

Например, если есть ссылка <a href="/clients">view clients </a> в app1.

При нажатии она перенаправляется на http://ncapp01/clients, а не http://ncapp01/app1/clients.

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

...