2012-10-23 66 views
0

有一些用户指南这样CodeIgniter的URI路由不工作

(:num) will match a segment containing only numbers. 

的,所以我做这个

//using wildcard 
$route['tool/reply/(\d+)'] = "tool/reply/$1"; 
//or using regx like this 
//$route['tool/reply/(:num)'] = "tool/reply/$1"; 

但它不仅数字号码相匹配,它匹配字符串作为好。发生了什么?我错过了什么?

+0

来吧,伙计们。这里真的需要一些帮助 – castiel

回答

1

尝试将您的功能tool/reply设置为tool/reply_numeric。它可能会变得困惑,只是路由到你的控制器并跳过你的路线。

+0

你没有明白我的意思,我的意思是通配符不起作用,它只能匹配数字,但它也匹配字符。 – castiel

+0

如果我设置$ route ['tool/reply /(\ d +)'] =“tool/reply/$ 1”;那么tool/reply/123会匹配,tool/reply/asdf将不匹配,但现在它匹配他们两个,你知道为什么吗? – castiel

+0

是的,重新阅读我的答案。将你的函数'reply()'改为'reply_numeric()'。 CodeIgniter很可能会忽略你的路由,因为你有控制器已经定义了这条路由。 –