[英]routes.php and controllers (codeigniter)
我有两个控制器1-站点2-管理
第一个控制器(站点)成功工作,第二个控制器(Managemnt)不工作。
我不知道什么是错误
我更改了routes.php,但仍然无法正常工作(管理)
$route['default_controller'] = "site";
$route['(:any)'] = "site/$1";
$route['Administration'] = "Administration/index";
$route['Administration/([a-z])'] = 'Administration/$1';
此链接有效:
example.com/hotel/12312
example.com/contact
example.com/city/newyork
example.com/Administration
但是此链接不起作用:
example.com/Administration/hotels
example.com/Administration/add_new
example.com/Administration/cities
问题在哪里,因为我累了要解决这个问题
塞克斯
它与您给路线指令的女巫的顺序有关。 代码点火器从上到下路由请求,因此,如果您希望$ route ['Administration']在$ route ['(:any)']之前,则必须先设置它。
$route['default_controller'] = "site"; $route['Administration/([az])'] = 'Administration/$1'; $route['Administration'] = "Administration/index"; $route['(:any)'] = "site/$1";
我总是建议将(:any)路由放在最后,这样它们就不会覆盖更具体的路由。
我遇到了同样的问题,并且可以正常工作:
$route['default_controller'] = "welcome";
$route['([a-z-A-Z1-9_]+)'] = "site";
$route['management']="management";
$route['404_override'] = '';
它可以帮助您!
我对Codeigniter路由不熟悉,但对我来说似乎一切都与$route['(:any)'] = "site/$1";
匹配$route['(:any)'] = "site/$1";
在到达您的管理路线之前。 尝试将其移至其他所有内容之下...您可能还需要切换管理路线,以使([az])
匹配
$route['default_controller'] = "site";
$route['Administration/([a-z])'] = 'Administration/$1';
$route['Administration'] = "Administration/index";
$route['(:any)'] = "site/$1";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.