【问题标题】:404 not found , Symfony routing path problem404 not found , Symfony 路由路径问题
【发布时间】:2020-01-20 03:28:03
【问题描述】:

我创建了一个控制器 pageController.php :

<?php 

namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;

class pageController {

    public function index()
    {
        return new Response('<html><body>hello...</body></html>');
    }
    public function contactAction()
    {
        return new Response('<html><body>contact...</body></html>');
    }

}

这里是 routes.yml

index:
    path: /
    controller: App\Controller\pageController::index

contact:
    path: /contact
    controller: App\Controller\pageController::contactAction

索引工作正常,但联系人不起作用!

注意:当我把index的路径从“/”改成“/index”时,就不行了,显示404 not found

在我想解决这个问题之前,我不想使用注释

【问题讨论】:

    标签: php symfony path routing


    【解决方案1】:
    contact:
        path: /contact
        controller: App\Controller\pageController::contact
    

    Symfony 会查找您的联系人操作您无需在 YML 中提及它

    Ps:你不通过路由名称 /index 调用路由,但你通过路径调用它 /

    【讨论】:

    • 我按路径称呼它!这是'/contact'但出现404未找到问题
    【解决方案2】:

    我不知道您使用的是哪个版本的 symfony,但如果是 symfony 2.x,那么您应该将您的索引方法命名为 indexAction(就像您联系的那样)。

    routes.yml:

    index:
    path: /
    controller: App\Controller\pageController::indexAction
    

    控制器:

    public function indexAction()
    {
         return new Response('<html><body>hello...</body></html>');
    }
    

    您还应该确保您的 routes.yml 已正确加载。

    【讨论】:

    • 但索引工作正常。如果我将索引的路径从“/”更改为“/page”或任何其他路径,然后输入/page,我得到 404 not found prob!我正在使用 symfony 5
    猜你喜欢
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多