私はファルコンの経路に問題があります。私はコードを持っています:ファルコン経路の衝突
$router->add('/{aliascat:[0-9\-a-z\-]+}(/?)', array(
'module' => 'frontend',
'controller' => 'category',
'action' => 'view',
'category' => 1,
'lang' => 'md',
))->setName('category_view_cpu');
$router->add('/{lang:[' . $langsDefined . ']{2}+}/{aliascat:[0-9\-a-z\-]+}(/?)', array(
'module' => 'frontend',
'controller' => 'category',
'action' => 'view',
'category' => 2,
'lang' => 1,
))->setName('category_view_cpu');
$router->add('/{controller:[a-z]{3,50}+}(/?)', array(
'module' => 'frontend',
'controller' => 1,
'action' => 'index',
'lang' => 'md',
))->setName('default_module');
$router->add('/{lang:[' . $langsDefined . ']{2}+}/{controller:[a-z]{3,50}+}(/?)', array(
'module' => 'frontend',
'controller' => 2,
'action' => 'index',
'lang' => 1,
))->setName('default_module_lang');
$router->add('/{controller:[a-z]{3,50}+}/:action/', array(
'module' => 'frontend',
'controller' => 1,
'action' => 2,
'lang' => 'md',
))->setName('default_module_controller_action');
$router->add('/{lang:[' . $langsDefined . ']{2}+}/{controller:[a-z]{3,50}+}/:action/', array(
'module' => 'frontend',
'controller' => 2,
'action' => 3,
'lang' => 1,
))->setName('default_module_controller_action_lang');
$router->add('/{controller:[a-z]{3,50}+}/:action/:params/', array(
'module' => 'frontend',
'controller' => 1,
'action' => 2,
'params' => 3,
'lang' => 'md',
))->setName('default_module_controller_action_params');
$router->add('/{lang:[' . $langsDefined . ']{2}+}/{controller:[a-z]{3,50}+}/:action/:params/', array(
'module' => 'frontend',
'controller' => 2,
'action' => 3,
'params' => 4,
'lang' => 1,
))->setName('default_module_controller_action_params_lang');
default_moduleルートと競合するため、私はcategoryルートのために細分化されたコントローラを取得します。どのようにしてこの問題を解決できますか?
私はルートを持っている:/カテゴリ名/ とデフォルト:/コントローラ/アクション/ ...ルートと
対立。
1)まず、あなたがそれらの正規表現に2つのハイフンを必要といけない:あなたのコードを読む
しかしカテゴリにはURLを設定する必要があります:site.com/category_name/デフォルトルートではどうすればいいですか? – Jajaja
私の記事をもう一度読んでください。特に、あなたのルートのロジックが広すぎるため、あいまいさが生じます。また、 '' yoursite.com/dummy'と入力すると 'dummy'部分が第1の経路とdefault_moduleの経路と一致しますPhalconは' dummy'がコントローラかカテゴリかを知る方法がありませんエイリアス。" つまり、 'site.com/category_name /'と入力すると、あなたのアプリは 'category_name'がコントローラかカテゴリか分かりません。あなたは英語を学んだので知っていますが、あなたのアプリはそうではありません。あなたは同様の正規表現以外のより良い手がかりを提供する必要があります – YOMorales
また、私は示唆している部分で私の提案を読む: "私は示唆している..." – YOMorales