PHP-Codeigniter的路线问题

结果我想要:

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-uri路由,跳过一段


下一篇:php-如何对数据进行分组,以根据选择的查询按周显示平均价格