带有参数的 Symfony 5 自定义路由导致 404 错误

我是 Symfony 5 的新手(我今天开始学习它)并且我正在学习 symfonycasts.com 上关于它的课程,我已经按照老师展示的做了所有事情但是我的控制器重定向仍然出现 404 错误,这里是代码:


<?php


namespace App\Controller;


use Symfony\Component\HttpFoundation\Response;

use Symfony\Component\Routing\Annotation\Route;


class QuestionController

{

    /**

     * @Route("/")

     */

    public function homepage()

    {

        return new Response('Homepage');

    }


    /**

     * @return Response

     * @Route("/q/{$param}")

     */

    public function showQuestions($param)

    {

        return new Response(sprintf("Hello %s!", $param));

    }

}

如您所见,这是一个非常简单的代码,但是当我转到http://localhost时,如果我更改


    /**

     * @return Response

     * @Route("/q/{$param}")

     */

    public function showQuestions($param)

    {

        return new Response(sprintf("Hello %s!", $param));

    }


    /**

     * @return Response

     * @Route("/q")

     */

    public function showQuestions()

    {

        return new Response("Hello World");

    }

我在http://localhost/q上有“Hello World” 但是当我将 /{param} 添加到我的注释中时http://localhost/q/Jean我有错误页面告诉我http://localhost/ q/Jean不存在。我的公用文件夹中有一个 .htaccess 文件,由

composer req symfony:apache-pack

我还尝试清理 php 缓存并更改开发模式

php bin/console cache:clear --env=prod

但我仍然有错误。我在 XAMPP 服务器版本上运行我的 symfony 应用程序:XAMPP for Linux 7.4.1-1 在 ubuntu 18.04 和 Apache 2.4.29


三国纷争
浏览 90回答 1
1回答

慕容森

我认为问题在于您在 @Route 中使用 {$param} 而不是 {param} 。
打开App,查看更多内容
随时随地看视频慕课网APP