Symfony: на сервере live / prod не работает "RedirectResponse" - PullRequest
0 голосов
/ 03 апреля 2019

Я тестирую свое приложение на работающем сервере и получаю ошибку: после завершения моих действий в контроллере он не перенаправляет меня на другой маршрут.Эта ошибка может быть из SSL (cloudflare) или Nginx, потому что на dev / local server работает нормально

Мой код:

-> Действие:

public function addAction(Request $request)
{
    $cookies = $request->cookies;
    $cart = $cookies->get('SHOP_CART');

    $post_id = $request->request->get('id');
    $r = $this->getDoctrine()->getRepository('AppBundle:Product');
    $product = $r->find($post_id);

    if ($cart == null) {
        $cart = [
            'items' => [$product->getId()],
            'price' => $product->getPriceUah(),
            'count_items' => 1,
        ];
    } else {
        $cart = unserialize($cart);
        if (in_array($product->getId(), $cart['items']) === false) {
            array_push($cart['items'], $product->getId());

            $cart = [
                'items' => $cart['items'],
                'price' => $cart['price'] + $product->getPriceUah(),
                'count_items' => $cart['count_items'] + 1,
            ];
        }
    }

    $cart = new Cookie(
        'SHOP_CART',    // Имя.
        serialize($cart),    // Значение.
        time() + (31 * 24 * 60 * 60)  // Время жизни куки 1 месяц.
    );

    $res = new Response();
    $res->headers->setCookie($cart);
    $res->send();

    return new RedirectResponse($this->generateUrl('client_index_product_page', ['id' => $product->getId()]));
}

-> Маршрутизация:

client_cart_add:
   path:  /cart/add
   methods: [POST]
   defaults: { _controller: AppBundle:Client/Component/CartActions:add, _locale: ru }
   requirements:
       _locale: ru|ua
   options:
       expose: true

Я сделал другой рабочий вариант, но на live / prod все еще не работает:

        $request->getSession()
        ->getFlashBag()
        ->add('notice', 'success');

    return $this->redirect($request->headers->get('referer'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...