【发布时间】:2011-11-28 22:30:36
【问题描述】:
我对 Codeigniter 路由有疑问。我希望我网站上的所有注册用户都拥有自己的“目录”,例如:www.example.com/username1、www.example.com/username2。这个“目录”应该映射到控制器“polica”,方法“ogled”,参数“username1”。
如果我这样做,那么每个控制器都会映射到以下路由:“polica/ogled/parameter”。不行:
$route["(:any)"] = "polica/ogled/$1";
这可行,但我总是在routes.php 中手动输入信息:
$route["username1"] = "polica/ogled/username1";
如何实现自动化?
更新:
例如,我有一个名称为ads 的控制器。例如,如果你去www.example.com/ads/
会有列出的广告。如果您转到www.example.com/username1,则会列出用户username1 的广告。还有控制器user,profile,latest,...
我的当前routes.php:
$route['oglasi'] = 'oglasi';
$route['(:any)'] = "polica/ogled/$1"
$route['default_controller'] = 'domov';
$route['404_override'] = '';
我用这段代码解决了问题:
$route['oglasi/(:any)'] = 'oglasi/$1';
$route['(:any)'] = "polica/ogled/$1"
$route['default_controller'] = 'domov';
$route['404_override'] = '';
问候,马里奥
【问题讨论】:
-
太棒了!我只是用默认控制器做到了这一点,它也可以在那里工作。
标签: php codeigniter routes rewrite