【问题标题】:Codeigniter route not work with parametersCodeigniter 路由不适用于参数
【发布时间】:2016-05-03 11:36:11
【问题描述】:

我有控制器 Post 和方法 indexadddelete。我为此操作创建路由规则:

$route['posts'] = 'post/index'; // <-- Work 
$route['post-add'] = 'post/add';// <-- Work 
$route['post-delete/(:num)'] = 'post/delete/$1'; // <-- Not Work 

第一条路线www.example.com/posts 运行良好,第二条路线/post-add 运行良好。但是当我打电话给post-delete/5 这不起作用时,我总是得到404 Not Fount

这是控制器

class Post extends MY_Controller
{
     public function index()
     { 
         //.
     }

     public function add()
     { 
         //.
     }

     public function delete($id)
     { 
         echo "Delete post #ID =" $id;
     }
}

我只对delete 路线有问题,我不知道他为什么不接受那个参数。

工作:

  • www.example.com/posts
  • www.example.com/add

不起作用:

  • www.example.com/delete/1

可能有什么问题?

【问题讨论】:

  • 可能是你忘记在你的控制器中添加$this-&gt;load-&gt;helper('url');
  • 试试$route['post/delete/(:num)']
  • @Maninderpreet Singh url 在配置中自动加载。
  • @Saty 当我尝试你的例子时,我得到了一些Not Found The requested URL /post/delete/1 was not found on this server.
  • post/delete/$1 应该可以在不重写路由的情况下工作。在routes.php中不做任何更改,使其首先工作。

标签: php codeigniter


【解决方案1】:

添加到路由文件

$route['delete/(:num)'] = 'post/delete/$1'

【讨论】:

    猜你喜欢
    • 2016-03-28
    • 1970-01-01
    • 2017-08-29
    • 2013-03-11
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2021-02-28
    相关资源
    最近更新 更多