我想要的结果:
greeting/102/steve => greeting/index/102/steve
在 greeting.php 中:
function index($order,$name)
{
echo "order: $order , name : $name ! ";
}
在 route.php 中:
$route['greeting/(:num)/(:any)'] = "greeting/index/$1/$2";
我得到的结果:
order : , name : steve !
最佳答案
实际上,使用双引号是正确的。它甚至在手册中这样指示(除了已经完成了一百次),所以我没有看到@cwallenpool 指出的问题。
你的路由看起来不错,确保它被调用之后 预留路线
$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['greeting/(:num)/(:any)'] = "greeting/index/$1/$2";
.
我建议您尝试使用 $this->uri->rsegment(n)
(关于 user guide here 的信息)来捕获给您带来麻烦的重新路由的 uri 段。 (类似于 $this->uri->segment(n)
但专为重新路由的 URI 而设计)
您也可以尝试将 $config['uri_protocol']
从 AUTO 更改为 PATH_INFO(或其他备选方案之一),看看问题是否存在。如果您使用 htaccess 从您的 URL 中删除 index.php,还请记住删除 $config['index_page']
中的“index.php”部分。
关于php - codeigniter路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6381359/