2012-10-23 87 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很可能會忽略你的路由,因爲你有控制器已經定義了這條路由。 –