@MikUrrey

Symfony 5.4, бесконечный редирект на закрывающий слэш и обратно, wtf?

Всем привет!
При запросе на /api/actions происходит 301 редирект на /api/actions/, а оттуда - обратно.
Если вызвать /api/actions/, то же самое. Почему?
Контроллер наипростейший.
<?php
namespace App\Controller\RestAdmin;

use App\Rest\Controller\AbstractController;

class ActionController extends AbstractController
{

    /**
     * @Route("/api/actions", name="api_actions_index", methods={"GET"})
     */
    public function index()
    {
        return $this->json([]);
    }
}


routes.yaml
login_check:
  path: /login
admin_login:
  path: /admin/login


routing.yaml
framework:
    router:
        utf8: true
when@prod:
    framework:
        router:
            strict_requirements: null


ЗЫ: нормально работает, если добавить в конец урла, например, ?t=1

ЗЗЫ: добавил проверки ради новый эндпойнт /api/test.
/**
     * @Route("/api/actions", name="api_actions_index", methods={"GET"})
     */
    public function index()
    {
        return $this->json([]);
    }

    /**
     * @Route("/api/test", name="api_actions_test", methods={"GET"})
     */
    public function test()
    {
        return $this->json([]);
    }

/api/actions - баг, /api/test - нормально

ЗЗЗЫ: в общем, редирект заводился именно на /api/actions, поэтому я ушел от префикса /api/ и все заработало нормально. Видимо, до меня добавили что-то, перехватывающее этот путь.
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
thewind
@thewind
php программист, front / backend developer
Возможно, редиректящий роут был закеширован браузером с кодом 301 и теперт в симфони даже никто не смотрит. Пробовали в другом браузере? Какой код отдается в заголовке Location?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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