簡體   English   中英

Symfony2路由錯誤未找到“ GET / query”的路由

[英]Symfony2 routing error No route found for “GET /query”

我在Symfony2 v2.3中創建新路由時遇到問題。 我收到錯誤消息

No route found for "GET /query"
404 Not Found - NotFoundHttpException
1 linked Exception: ResourceNotFoundException »

我一直在尋找解決方案,但沒有一個起作用……我什至在嘗試使用appDevUrlGenerator.php和appDevUrlMatcher.php的服務器上崩潰了。

因此,這是DefaultController中代碼的一部分:

public function queryAction(Request $request)
{
    $repository=$this->getDoctrine()->getRepository('TestFirstBundle:UserTicket');


    $lists = $repository->findBystatus('Open');


    if (!$lists) {
        throw $this->createNotFoundException(
            'No forms found '
        );
    }

    return $this->render('TestFirstBundle:Default:query.html.twig', array(
        'lists' => $lists,

    ));

我在包中的routing.yml:

test_First_homepage:
path:     /dipl
defaults: { _controller: TestFirstBundle:Default:index }


test_First_submit:
path:     /subm
defaults: { _controller: TestFirstBundle:Default:submit }

test_First_query:
path:     /query
defaults: { _controller: TestFirstBundle:Default:query }

和app / config / routing.yml(我在app / config / routing_dev.yml中放了同樣的東西)

test_first:
resource: "@TestFirstBundle/Resources/config/routing.yml"
prefix:   /

我將添加/ dipl和/ subm路由完美運行,並將它們連接到我放置表單(在提交表單后重定向)的indexAction和SubmitAction上。 另外,如果我注釋掉我真正的indexAction並只是將queryAction重命名為indexAction,則它可以完美地在/ dipl url上正常工作,並且可以像queryAction一樣正確地執行操作。 所以我猜想queryAction和/ query url之間存在連接問題。 但是當我跑步時

   php app/console router:match /query 

我得到正確的東西:

[router] Route "test_First_query"
Name         test_First_query
Path         /query
Host         ANY
Scheme       ANY
Method       ANY
Class        Symfony\Component\Routing\Route
Defaults     _controller:           Test\FirstBundle\Controller\DefaultController::queryAction
Requirements NO CUSTOM
Options      compiler_class: Symfony\Component\Routing\RouteCompiler
Path-Regex   #^/query$#s

我以為這可能是保留路線或其他東西,但是我也使用的是symfony 2.3,因此此快速測試效果很好:

/**
 * @Route("/query", name="query")
 */
public function queryAction()
{
    return new Response('query');
}

我得到回復,確定。 所以不是那樣。 可能是您在Symfony2之外的/ query下(可能在您的HTTP服務器中)配置了某種別名或資源,從而以某種方式干擾了此路由?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM