路由中间的 CodeIgniter 参数
CodeIgniter Parameter in middle of route
我目前正在学习 codeigniter,但我在路由方面遇到了一些问题。我的路线文件如下:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$route['images/(:num)/upload/'] = 'image/upload/';
$route['images/(:num)'] = 'image/index/';
$route['yoyo/(:num)'] = 'yoyo/view/';
$route['default_controller'] = 'yoyo';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
我的问题是第一条路线;如果不将 (:num) 移动到路线的末尾,我将无法让它工作。基于我在浏览 Whosebug 后看到的其他路线,它给人的印象是这应该有效。有什么想法吗?
所以要明确一点,如果我改为添加以下路线,它会起作用:
$route['images/upload/(:num)/'] = 'image/upload/';
$route['images/(:num)/upload/'] = 'image//upload';
编辑:我在想什么..抱歉。
当然你不能执行我告诉你的代码,因为路由images//upload
意味着你将访问控制器images
...和函数</code>。 </p>
<p>显然,你不能那样做。这是你应该做的:</p>
<pre><code>$route['images/upload/(:num)'] = 'image/upload/';
public class image extends CI_Controller
{
public function upload($arg0) {}
}
然后如果你想传递更多的args,你只需要继续路由路径。
$route['images/upload/(:num)/(:any)'] = 'image/upload//';
public function upload($arg0, $arg1) {}
我目前正在学习 codeigniter,但我在路由方面遇到了一些问题。我的路线文件如下:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$route['images/(:num)/upload/'] = 'image/upload/';
$route['images/(:num)'] = 'image/index/';
$route['yoyo/(:num)'] = 'yoyo/view/';
$route['default_controller'] = 'yoyo';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
我的问题是第一条路线;如果不将 (:num) 移动到路线的末尾,我将无法让它工作。基于我在浏览 Whosebug 后看到的其他路线,它给人的印象是这应该有效。有什么想法吗?
所以要明确一点,如果我改为添加以下路线,它会起作用:
$route['images/upload/(:num)/'] = 'image/upload/';
$route['images/(:num)/upload/'] = 'image//upload';
编辑:我在想什么..抱歉。
当然你不能执行我告诉你的代码,因为路由images//upload
意味着你将访问控制器images
...和函数</code>。 </p>
<p>显然,你不能那样做。这是你应该做的:</p>
<pre><code>$route['images/upload/(:num)'] = 'image/upload/';
public class image extends CI_Controller
{
public function upload($arg0) {}
}
然后如果你想传递更多的args,你只需要继续路由路径。
$route['images/upload/(:num)/(:any)'] = 'image/upload//';
public function upload($arg0, $arg1) {}