Я запускаю приложение Angular, созданное с помощью контроллера Symfony. Мое приложение Symfony основано на http://localhost/portal
и имеет маршрут на http://localhost/portal/shop/
(который отображает приложение Angular).
Моя текущая конфигурация nginx хорошо работает для этого URL.
Когда я достигну http://localhost/portal/shop/.*
Я хочу, чтобы nginx запускал приложение Symfony на контроллере http://localhost/portal/shop/
и позвольте остальной части uri обрабатывать маршрутизацию Angular.
Мои знания о nginx ограничены. Это возможно ? Если да, то как этого добиться?
Мое текущее местоположение для обработки /portal/shop
является :
location /portal {
root $projectroot/portal/web;
rewrite ^/portal/?(.*)$ /app_dev.php/$1 break;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $projectroot/portal/web/$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_pass php:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
}
Дайте мне знать, если вам понадобится больше моего файла конфигурации. Он довольно большой, поскольку он также обрабатывает раздел api ;-)
Спасибо за помощь!
Нашел решение без nginx. В какой-то момент мой разум может быть заблокирован.
На основе решения, представленного в этот ответ stackoverflow Я сделал это:
class ShopController extends Controller {
/**
* @Route("/shop/{angularRoute}", name="shop", requirements={"angularRoute": ".*"})
*/
public function __invoke() {
return $this->render('shop.html');
}
}