我有一个像
这样的网址结构http://example.com/merchant/index/1-westside
目前我在routes.php中添加了一行,如
$route['merchant/(:any)'] = "merchant/index";
通过使用这条路线我会得到像
这样的网址http://example.com/merchant/1-westside
但我需要像
这样的网址http://example.com/1-westside
简而言之,我想隐藏controller_name,即url中的“merchant”。请帮忙。
答案 0 :(得分:0)
$route['(:any)'] = 'merchant/index/$1';
但请注意,这会影响对网站的所有请求,因此如果您想要使用其他控制器,则需要为它们创建路径并将它们放在此路线之前。
因此,例如,如果您创建另一个名为payments
的控制器,则需要在此之前为其设置路径:
$route['payments/(:any)'] = 'payments/index/$1';
$route['(:any)'] = 'merchant/index/$1';
这将无法正常工作:
$route['(:any)'] = 'merchant/index/$1';
$route['payments/(:any)'] = 'payments/index/$1';
此外,您只能为一个控制器执行此操作。即你只能拥有一个使用“无控制器”网址的控制器和方法。如果要使用除merchant/index
之外的其他控制器方法,则必须使用路由URL中的控制器名称(或某些标识符)来了解所需内容。
答案 1 :(得分:0)
尝试设置$route['default_controller'] = 'merchant';
。