代码之家  ›  专栏  ›  技术社区  ›  Alexandre Corvino

Symfony4的路由批注与DNS的原因不匹配?

  •  1
  • Alexandre Corvino  · 技术社区  · 8 年前

    我正在尝试制作第一页创建教程

    https://symfony.com/doc/current/page_creation.html

    所以我在我的 src/控制器/幸运控制器。php

    <?php
    
    namespace App\Controller;
    
    use Symfony\Component\Routing\Annotation\Route;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    
    class LuckyController extends Controller
    {
    
        /**
        * @Route("/lucky/number")
        */
        public function number()
        {
            $number = mt_rand(0, 100);
    
            return $this->render('lucky.html.twig', array(
                'number' => $number,
            ));
        }
    }
    

    当我尝试进入这个url时

    (即)OVHServer。fr/项目/公众/幸运/编号

    我有一个404找不到的错误

    我想这是因为我没有把我的DNS放在项目/公共目录中,但我想知道你是否知道如何让Url这样,并在我的控制器中获得道路。

    谢谢

    1 回复  |  直到 8 年前
        1
  •  1
  •   goto    8 年前

    DNS不相关。路由在服务器配置后生效。 symfony 2和3的公共目录命名为 web ,它的名字是 public 自symfony4起

    例如:

    OVHServer.fr/app.php/lucky/number
    OVHServer.fr/web/app.php/lucky/number
    OVHServer.fr/project/public/app.php/lucky/number
    

    当服务器配置为隐藏 app.php 它会给你

    OVHServer.fr/lucky/number
    OVHServer.fr/web/lucky/number
    OVHServer.fr/project/public/lucky/number
    
    推荐文章