2011-11-28 9 views
18

Symfony2 returns http://localhost/app_dev.phpを実行しようとすると、「GET /」のルートが見つかりませんでしたが、このURLの動作はhttp://localhost/app_dev.php/hello/Symfonyです。 AcmeDemoBundleを削除し、symfony2チュートリアルからサンプルバンドルを実行しようとしています。なにが問題ですか ?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で始まるはずです"というパターンのルートを定義しました。

あなたのsrc /ショップ/ MyShopBundle /リソース/設定/ routing.ymlでこれらの行を追加する必要が「/」のルートを作成するには:それぞれ」上がらない、上記の答えが間違っている

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

をデモコンテンツのプロードモードを表示するのに困っているのはなぜですか?

ここで正しい答えがあります:あなたの「PROD」-cacheをクリア:

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

は、私はすべての提案に従ったが、何も働きました。私はすべてが古くなっていると思う。私たちは、バンドルのconfig.ymlファイルにannoationsをアクティブにするために覚えている注釈付き – samayo

+0

今日: すべて: のリソース:「@ OurBundle /コントローラー/」 タイプ:これは今で編集ジェフリー – Nico

+0

おかげ 'PHP bin /コンソールキャッシュ:clear --env = prod' – bacbos

5
私にとってこの作品

cache:clear --env=prod 
0

私もそのエラーを試してみましたが、私はちょうど追加することによって、右のそれを得ました/ hello/hello/nameでなければならないパスなので、任意の名前です

例:入れるのではなくhttp://localhost/app_dev.php

このように入れてください。http://localhost/name_of_your_project/web/app_dev.php/hello/ai

Hello Aiが表示されます。あなたの質問にお答えしたいと思います。 PHP 5.5でのsymfony 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のコメントの前にスラッシュで始まり、2つのアスタリスクがあります。私はスラッシュと1つだけのアスタリスクを間違えていました。これは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'); 
} 
関連する問題