Symfony5 выдает 404 в браузере, но маршрут найден в cli

Я использую реакцию + symfony с веб-пакетом. Все работает с простым URL, например. одна косая черта в URL-адресе (/aboutus,/moodle), но когда я пытаюсь получить доступ к маршруту с несколькими косыми чертами (/admin/users), я получаю < strong>NotFoundResource Ошибка. А вот с router:matchя найду.

Журнал сервера:

|WARN | SERVER GET  (404) /admin/users 
|ERROR| REQUES Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /admin/users"" at /home/rtkpf/Programming/Niners/vendor/symfony/http-kernel/EventListener/RouterListener.php line 136 

маршрутизатор: соответствие /admin/users

(master) [1]> bin/console router:match /admin/users


                                                                                                                        
 [OK] Route "index" matches                                                                                             
                                                                                                                        

+--------------+---------------------------------------------------------+
| Property     | Value                                                   |
+--------------+---------------------------------------------------------+
| Route Name   | index                                                   |
| Path         | /{reactRouting}                                         |
| Path Regex   | {^/(?P<reactRouting>.+)?$}sDu                           |
| Host         | ANY                                                     |
| Host Regex   |                                                         |
| Scheme       | ANY                                                     |
| Method       | GET                                                     |
| Requirements | reactRouting: .+                                        |
| Class        | Symfony\Component\Routing\Route                         |
| Defaults     | _controller: App\Controller\UserController::index()     |
|              | reactRouting: NULL                                      |
| Options      | compiler_class: Symfony\Component\Routing\RouteCompiler |
|              | utf8: true                                              |
+--------------+---------------------------------------------------------+

Составная часть:

class DefaultController extends AbstractController
{
    /**
     * @Route("/{reactRouting}", name="index", defaults={"reactRouting": null}, methods="GET", requirements={"reactRouting":".+"})
     */
    public function index()
    {
        return $this->render('default/index.html.twig');
    }
}

Кто-то испытал это раньше? Где может быть ошибка? P.S.: я использую сервер symfony


person Pavel Šrytr    schedule 06.11.2020    source источник
comment
Вы видите что-нибудь в консоли сервера Symfony? Ваш запрос перехватывается сервером или нет?   -  person Alexandre    schedule 06.11.2020
comment
У меня была аналогичная проблема, которую я решил этим способом.   -  person Agnohendrix    schedule 06.11.2020
comment
Хотя я использую Symfony: server, я попытался добавить .htacces. Все то же самое   -  person Pavel Šrytr    schedule 07.11.2020


Ответы (1)


Он говорит App\Controller\UserController::index() в router:match, в то время как ваш контроллер показывает DefaultController, это возможная проблема?

Также может быть проблема с приоритетом, поскольку в версии 5.1 вы можете использовать приоритеты в маршрутизации (https://symfony.com/blog/new-in-symfony-5-1-route-annotations-priority), возможно, попробуйте добавить priority=-10, в аннотацию маршрутизатора, чтобы установить более низкий приоритет (0 по умолчанию) или priority=10, , если вы хотите повысить приоритет в другом месте.

person Oliver Adria    schedule 06.11.2020
comment
Поскольку он использует заполнитель без префикса, да, приоритет, похоже, является проблемой, он будет соответствовать любому запросу. Но все наоборот, приоритет маршрута index должен быть ниже. - person msg; 06.11.2020
comment
Вы также можете использовать отрицательное целое число. - person Oliver Adria; 06.11.2020
comment
Да, но это довольно важная часть ответа, я прокомментировал, чтобы дать вам возможность отредактировать это, иначе ваше предложение ничего не сделает для решения проблемы. - person msg; 06.11.2020
comment
Очень интересно. Я не знаю о приоритетах маршрута. С UserController разобрался, ошибка осталась. Затем я устанавливаю путь DefaultController:index с приоритетом -10, как было предложено. Ошибка все еще сохраняется - person Pavel Šrytr; 07.11.2020