2010-09-06 113 views
0

我想启用这种路由在我的网站,用户可以创建自己的个性化网址路由CakePHP中

test.com/[user-url]

也不用想毁了路由我现有的控制器 test.com/users test.com/business test.com/admin

,所以我说这我routes.php文件

Router::connect('/*', array('controller' => 'business', 'action' => 'view')); 

是否可以使用'/ *'正则表达式,所以我可以排除我的控制器路由?

p.s.非常像在facebook上的路由

+1

你的问题可以通过这个线程来回答:http://stackoverflow.com/questions/3646170/how-do-i-enable-seo-friendly-urls-in-cakephp – 2010-09-06 07:12:05

回答

1

以下我从我用于自己页面的东西改编而来;我没有为你的用例测试过它。它应该传递给用户控制器的所有请求,除了搜索和接触

我还使用自定义路由类 http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp

App::import('Lib', 'routes/UserUrlRoutes'); 

// 
Router::connect(
    '/:slug', 
    array('controller' => 'users', 'action' => 'view'), 
    array(
     'routeClass' => 'UserUrlRoute', 
     'slug' => '(?!search|contact)' 
     ) 
    ); 
Router::connect('/:slug/*', array('controller' => 'users', 'action' => 'view'), array('routeClass' => 'UserUrlRoutes')); 
+0

正是我需要的感谢! – wnoveno 2010-09-06 15:58:55