我允许用户使用以下个人资料网址: domain.com/AwesomeUser
在我的路线中:
$route['(:any)'] = 'user';
我遇到的问题是我的控制器现在无法访问,我可以这样做:
$route['blog'] = 'blog';
$route['blog/(:any)'] = 'blog/$1';
$route['contact'] = 'contact';
对于我拥有的每个控制器和参数,但它只是不可靠,我想要更高效的东西,我还有一个包含控制器名称的数组,我想排除:
$reserved_names = array(
'blog',
'page',
'contact'
);
有什么想法吗?
答案 0 :(得分:1)
这可以帮到你
$reserved_names = array(
'blog',
'page',
'contact'
);
foreach ($reserved_names as $name )
{
$route[$name] = $name;
$route[$name.'/(:any)'] = $name.'/$1';
}
$route['(:any)'] = 'user';
答案 1 :(得分:1)
总是把你的通配符放在最后。 路由按照您定义它们的顺序工作,首先列出一个==首先调用一次。