1

我正在尝试在 CodeIgniter 上创建一个匹配 3 个数字后跟连字符后跟任何内容的路由。到目前为止,我的运气为零。我尝试了以下方法:

$route['([0-9]+)-([a-zA-Z0-9]+)'] = 'product/index/$1';
$route['([0-9]+)([a-zA-Z0-9-]+)'] = 'product/index/$1';
$route['(:num)-(:any)'] = 'product/index/$1';
$route['([0-9]{3})-(:any)'] = 'product/index/$1';
$route['(\d{3})-(:any)'] = 'product/index/$1';

等等。有谁知道我该怎么做?

4

2 回答 2

0

看起来 CodeIgniter 不使用标准正则表达式。

试试这些:

  1. (\d{3})\-.*
  2. (\d{3})-.*
  3. (\d{3})\-(:any)
  4. (\d{3})-(:any)

其中之一应该工作。

有关更多信息,请参阅 http://codeigniter.com/user_guide/general/routing.html

于 2012-06-26T21:08:51.537 回答
0

这可能是参数问题。也许你应该尝试:

$route['([0-9]+)-([a-zA-Z0-9]+)'] = 'product/index/$1/$2';

由于您要捕获 2 个变量,因此您似乎应该将它们都传递给函数。

于 2012-06-27T14:01:02.360 回答