2011-11-28 5 views
18

Symfony2 returns http://localhost/app_dev.php을 실행하려고 시도 할 때 경로가 없습니다.이 URL은 http://localhost/app_dev.php/hello/Symfony입니다. AcmeDemoBundle을 제거했고 심포니 2 튜토리얼에서 예제 번들을 실행하려고합니다. 뭐가 잘못 되었 니 ?symfony 2 "GET /"에 대한 경로를 찾을 수 없음

응용 프로그램/설정/routing.yml :

ShopMyShopBundle: 
resource: "@ShopMyShopBundle/Resources/config/routing.yml" 
prefix: /

응용 프로그램/설정/routing_dev.yml :

_assetic: 
resource: . 
type:  assetic 

_wdt: 
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" 
prefix: /_wdt 

_profiler: 
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" 
prefix: /_profiler 

_configurator: 
resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" 
prefix: /_configurator 

_main: 
resource: routing.yml 

SRC/쇼핑/MyShopBundle/자원/설정/routing.yml :

ShopMyShopBundle_homepage: 
pattern: /hello/{name} 
defaults: { _controller: ShopMyShopBundle:Main:index } 
requirements: 
    _method: GET 

답변

20

문제는 /에 대한 경로가 없다는 것입니다. 여기에 당신의 정의를 변경합니다

ShopMyShopBundle_homepage: 
    pattern:/
    defaults: { _controller: ShopMyShopBundle:Main:index } 
    requirements: 
     _method: GET 
1

접두사가 URL 라우팅의 접두사입니다. '/'와 같으면 접두사가 없음을 의미합니다. 그런 다음 "hello"로 시작하는 패턴으로 경로를 정의했습니다.

ShopMyShopBundle_homepage: 
    pattern:/
    defaults: { _controller: ShopMyShopBundle:Main:index } 
10

위의 답변이 잘못 각각 '때로 믿을 수 :

가에 대한 경로를 만들려면'/ '당신은/MyShopBundle/자원/설정/routing.yml 당신의 SRC/숍에이 라인을 추가 할 필요가 데모 콘텐츠 찌르다 모드를 보는 데 문제가있는 이유는 무엇입니까?

여기에 정답이다 : 당신의 "자극"-cache을 취소 :

php app/console cache:clear --env prod 
+0

, 나는 모든 제안을 따랐으나 효과가 없었다. 나는 모두가 구식이라고 생각합니다. 우리는 우리의 번들의 config.yml 파일에 annoations를 활성화하기 위해 기억해야 주석 – samayo

+0

오늘 : 모든 : 자원 : "@ OurBundle/컨트롤러 /" 유형이 지금 편집 제프리 – Nico

+0

감사합니다'PHP bin/console 캐시 : clear --env = prod' – bacbos

5
나를 위해이 작품

:

cache:clear --env=prod 
0

나는 또한 그 오류를 시도, 방금 추가하여 바로 그것을 가지고/hello/hello/이름이 있어야하는 경로이므로 어떤 이름이든 사용합니다.

예 : 단지 넣는 대신 http://localhost/app_dev.php

이렇게하면됩니다. http://localhost/name_of_your_project/web/app_dev.php/hello/ai

Hello Ai가 표시됩니다. 나는 당신의 질문에 대답하기를 바랍니다. PHP 5.5 심포니 2.3 사용과 같은 출력 뭔가해야되는

app/console server:run 

와 서버에 내장 된 사용

3

이 당신에게 제공해야합니다 다음

Server running on http://127.0.0.1:8000 
Quit the server with CONTROL-C. 

http://127.0.0.1:8000/app_dev.php/app/example

로 이동 src/AppBundle/Controller/DefaultController.php를보고 기본 경로를 찾을 수 있습니다.

1

나는이 실수를 저지른 사람 일 수도 있었지만 게시하지 않을 수도 있습니다.

format for annotations에 대한 설명은 슬래시로 시작해야하며 두 개의 별표가 있어야합니다. 나는 슬래시와 단 하나의 별표를 실수로 만들고 있었는데 PHPStorm이 자동 완성했습니다.

내 경로는 다음과 같이 보았다 :

/* 
* @Route("/",name="homepage") 
*/ 
public function indexAction(Request $request) { 
    return $this->render('default/index.html.twig'); 
} 

가 있었어야 할 때 지금 같은이이

/** 
* @Route("/",name="homepage") 
*/ 
public function indexAction(Request $request) { 
    return $this->render('default/base.html.twig'); 
} 
관련 문제