У меня есть устаревшее php-приложение, и я настроил новый vhost для приложения Symfony2.
Я использую ProxyPass в Apache, чтобы указать www.old-app.com/v2 на www.new-app.com.
Все это отлично работает из коробки, и единственная проблема заключается в том, что пути для инструментов разработчика не работают. Например, панель инструментов dev не загружается, и по этой причине я получаю приглашение открыть профиль, но он открывается в www.old-app.com/_profiler вместо www.old-app.com/v2/_profiler.
Так что маршрутизация не учитывает мой ProxyPass. Однако в этом случае, если я вручную введу v2 в адрес перенаправления, я получу страницу профилировщика.
Если я добавлю префикс / v2 / _profiler в файл yml, он откроется, но я получу
Не найдено ни одного маршрута для «GET / _profiler / f9784b».
Пока что мое лучшее решение — добавить директивы ProxyPass для путей разработки:
<VirtualHost *:443>
ProxyPreserveHost On
ProxyPass /v2 http://new-app
ProxyPass /_wdt http://new-app/_wdt
ProxyPass /_profiler http://new-app/_profiler
ProxyPass /_configurator http://new-app/_configurator
ProxyPass /_error http://new-app/_error
ProxyPassReverseCookiePath / /v2
ProxyPassReverseCookieDomain new-app old-app
ServerName old-app
...
</VirtualHost>
Задача ещё не решена.
Других решений пока нет …