我可能会在这里问一下,但我想知道如何进一步缩短网址,使它们看起来没有包含控制器。
例如:我想缩短它:
www.mysite.com/users/Bob-123
到
www.mysite.com/Bob-123
或类似www.mysite.com/bob-123-user
这里有什么想法吗? - 我在这里使用Zend框架
答案 0 :(得分:0)
你可以在Zend Router的帮助下完成。
在这里,您需要获取用户名并向其添加路由。通过这种方式,它将识别需要获取的控制器和操作。
$router = $this->_front->getRouter();
$route = new Zend_Controller_Router_Route(
':username',
array(
'controller' => 'profile',
'action' => 'userinfo'
)
);
$router->addRoute('user', $route);
的示例
答案 1 :(得分:0)
在您的application.ini中,您可以使用Zend_Controller_Router_Route_Regex执行此操作:
resources.router.routes.user.route = "(\w+)-(\d+)"
resources.router.routes.user.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.user.defaults.controller = users
resources.router.routes.user.defaults.action = index
resources.router.routes.user.map.1 = username
resources.router.routes.user.map.2 = id
resources.router.routes.user.reverse = "/%s-%d"
您需要指定自己的操作和控制器。 希望这会有所帮助。