【问题标题】:CodeIgniter Routing - 404 errorCodeIgniter 路由 - 404 错误
【发布时间】:2014-01-10 10:08:59
【问题描述】:

我正在使用 CI 开发一个网站,今天我在管理部分遇到了问题。

我有管理员,我可以管理用户

我的应用程序的结构是:

controllers/admin/users.php

在 users.php 我有一些函数:index(), view($id), login(), edit($id)

views/admin/users/index.php
views/admin/users/view.php
views/admin/users/login.php
views/admin/users/edit.php

访问登录页面的网址是:

www.mysite.com/admin/login

访问用户列表的 url 是:

www.mysite.com/admin/users

查看特定用户(id=5) 的网址是: www.mysite.com/admin/users/5

除了编辑功能外,一切都运行良好,当我调用www.mysite.com/admin/edit/5时,我得到了一个网址

这是我的路由规则:

$route['admin/users/(:any)'] = 'admin/users/view/$1';
$route['admin/users'] = 'admin/users';

$route['admin/users/login'] = 'admin/users/login';

$route['admin/users/edit/(:num)'] = 'admin/users/edit/$1';

$route['admin'] = 'admin/users/login';

我错过了什么?怎么了?

【问题讨论】:

标签: php codeigniter codeigniter-routing


【解决方案1】:

尝试将其放在序列中的较高位置,因为路线从上到下匹配:

$route['admin'] = 'admin/users/login';
$route['admin/users'] = 'admin/users';
$route['admin/users/login'] = 'admin/users/login';
$route['admin/users/edit/(:num)'] = 'admin/users/edit/$1';
$route['admin/users/(:any)'] = 'admin/users/view/$1';

:any 可能会捕获太多并干扰,我会将其作为所有未指定的最后一条捕获所有路径。

【讨论】:

  • 准备! :) 如果您发现此答案解决了您的问题,请考虑使用计票下方的粗标记将其标记为“已接受”,以便向任何未来的读者展示问题的解决方案
【解决方案2】:
$route['admin/users/(:any)'] = 'admin/users/view/$1';
$route['admin/users'] = 'admin/users';

$route['admin/users/login'] = 'admin/users/login';

$route['admin/edit/(:any)'] = 'admin/edit/view/$1';

$route['admin'] = 'admin/users/login';

试试这个你可能会得到结果!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-01
    • 2016-08-04
    • 2019-07-21
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多