не позволяют nginx обрабатывать URL-адрес подмножества

Я запускаю приложение 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 ;-)

Спасибо за вашу помощь!

0
задан 26 September 2018 в 12:13
1 ответ

Нашел решение без nginx. В какой-то момент мой разум может быть заблокирован.

Основываясь на решении, представленном в , этот ответ о переполнении стека я сделал следующее:

class ShopController extends Controller {
    /**
     * @Route("/shop/{angularRoute}", name="shop", requirements={"angularRoute": ".*"})
     */
    public function __invoke() {
        return $this->render('shop.html');
    }
}
0
ответ дан 5 December 2019 в 05:16

Теги

Похожие вопросы