2011-08-12 6 views
0

を期待して:Zendのルータ - 問題 - 作品ではなく、私は私のサイトのためのカスタムルートを必要とする

のようにすべてのもの:www.site.com/457485789479はのparam ID/45でインデックス/インデックスにルーティングすることがsould .. 他のものはすべてzend frameworkのデフォルトで動作するはずです。

私はこのルートを持っている:

resources.router.routes.test.type = "Zend_Controller_Router_Route" 
resources.router.routes.test.route = ":id" 
resources.router.routes.test.defaults.module = "default" 
resources.router.routes.test.defaults.controller = "index" 
resources.router.routes.test.defaults.action = "index" 
resources.router.routes.test.defaults.id = "" 

をしかし今、「URLなViewHelperは」動作しないと、すべてが「/」誰かがエラーを見ずして、help`ことができます行きますか?

答えて

0

は、デフォルトルートを上書きする代わりにZend_Controller_Router_Route_Regexを使用する必要があります。これはもはやexample.com/:moduleまたはexample.com/:controllerが機能しなくなるため、予期せぬ結果を招きます。あなたが求めていることを達成するために私がしたことがここにあります。

私は、静的なページのために、このURLたかった:これはまだ

example.com/:module 
example.com/:controller 

これはテストするプラグインを使用していた私がしたように動作するように、デフォルトルートを維持しながら、

example.com/about 

を私の要求をすることができれば派遣される。要求がデフォルトルートを使用してディスパッチできなかった場合は、リクエストを適切なモジュールに変更してページをロードします。あなたのニーズに合わせて変更できるプラグインは次のとおりです:

0

あなたはRouter_Route

example.com/:idなどのカスタムルートを使用して
$router->addRoute('router-name', new Zend_Controller_Router_Route_Regex(
      '(\d{2,})', 
      array(
       'controller' => 'index', 
       'action' => 'index' 
      ), 
      array(1 => 'id'), 
      '%d' 
     )); 
関連する問題