Я использую apache перед tomcat, поэтому я могу перенаправить запросы из домена на URL-адрес tomcat с помощью mod_proxy. Я столкнулся с проблемой на сервере, где при использовании субдомена он хочет вернуться в базовый домен. Есть ли способ перенаправить все запросы с example.com/foo на foo.example.com?Запрос на перенаправление Apache из домена + путь
<VirtualHost *:80>
ServerName example.com/app
ProxyPreserveHost Off
ProxyPass/http://app.example.com:8080/AppName/
ProxyPassReverse/http://app.example.com:8080/AppName/
</VirtualHost>
Приведенный выше пример не работает. Я предполагаю, что это потому, что я не могу включить путь в имя сервера.
Вот моя рабочая версия тега, основанная на принятом ответе.
<VirtualHost *:80>
ServerName example.com/app
ProxyPreserveHost Off
ProxyPass/http://app.example.com:8080/AppName/
ProxyPassReverse/http://app.example.com:8080/AppName/
# Rewrite all request from example.com/foo to foo.example.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^/foo/?(.*) http://foo.example.com/$1 [R,L]
</VirtualHost>
Я борюсь с тем, как использовать переписать, потому что это не сайт apache. Apache буквально просто сидит впереди и перенаправляет запросы на url приложения tomcat. – ryandlf
Поцарапать это. Это сработало. Вместо включения перезаписи в .htaccess (потому что у меня ее нет) я просто включил его непосредственно в виртуальный хост. Я собираюсь включить рабочий тег virtualhost в исходное сообщение. – ryandlf