$route['default_controller'] = "homepage";
$route['(:any)'] = "handler/$1";
$route['404_override'] = '';
网址
http://localhost/sitename/homepage // Has to me mapped to Homepage controller
http://localhost/sitename/url-with-a-slug //URL with A-Z a-z 0-9 and - other than homepage has to be mapped to handler controller
现在,在routes.php。
中添加$route['(:any)'] = "handler/$1";
时,两个URL都不起作用
但如果没有该行,则homepage
和handler/url-with-a-slug
模式可以正常工作。
如何解决这个问题?
注意:当http://localhost/handler/url-with-a-slug
行被移除时,控制器handler.php存在且$route['(:any)'] = "handler/$1";
有效。
答案 0 :(得分:0)
尝试更改
$config['uri_protocol']
来自config / config.php
答案 1 :(得分:0)
试试这个route
,尚未对其进行测试,因为我不在我的开发机器上。但你会有这个想法
$route['default_controller'] = "homepage"; //default
$route['404_override'] = ''; //404
$route['homepage'] = 'homepage'; // 0
$route['sitename/homepage'] = 'homepage'; // 1
$route['(:any)'] = "handler/$1"; // 2
如果您有网址http://localhost/sitename/homepage
,则会在1
下处理,因为CI会按层次顺序处理它的路由。因此,如果上面的网址不符合1
路由,它将首先在1
下进行处理,直到找到最佳路线为止。{/ p>