zend框架1.11.11路由

时间:2013-06-21 07:53:06

标签: zend-framework routing routes

http://xxxxxx.xxx/man/pant/man-yellow-box-pant

$router = $ctrl->getRouter(); // returns a rewrite router by default
$router->addRoute(
    'location',
    new Zend_Controller_Router_Route(
        ':category/:subcategory/:productname',
        array(
            'module' => 'default',
            'controller' => 'product',
            'action' => 'index',
            'id' => 'id',
            'name' => 'p_name'

        )
    )
);

以上代码无效..

$routers = $ctrl->getRouter(); // returns a rewrite router by default
$routers->addRoute(
    'location',
    new Zend_Controller_Router_Route(
        ':uname',
        array(
            'module' => 'default',
            'controller' => 'user',
            'action' => 'index',
            'id' => 'uid',
            'name' => 'u_name'

        )
    )
);

以上工作...........

请建议我为什么不在两个代码写在同一页面,同一个项目上时工作..

2 个答案:

答案 0 :(得分:1)

您的路线需要具有唯一名称。通过将它们称为“位置”,您添加的第二个将替换第一个。

答案 1 :(得分:0)

我知道写错了,如果我们将位置更改为其他然后也没有工作因为我有更多的URL条件和条件我们不在URL上使用模块/控制器/函数名称,根据我们用来命名的类别或功能On URL。

我有4个模块和15个控制器与更多的功能,并需要所有URL使SEO友好所以我做了,如果我改用位置用户名,他不工作,

$ routers = $ ctrl-> getRouter(); //默认返回重写路由器 $ routers-> addRoute( '类别',     new Zend_Controller_Router_Route(         ':类/:子类别/:产品名称',         阵列(             'module'=> '默认',             'controller'=> '产品',             'action'=> '指数',             'id'=> 'ID',             'name'=> 'p_name')));

类别和子类别系统无效。

如何根据我的条件设置正确的路径,而不是通过404错误

网址获取http://testing.com/man/pant/man-yellow-box-pant