[英]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.