0

一个简单的问题,我似乎无法找到与 CI 中的路由有关的任何地方的答案 - 全局捕获所有之间是否有任何真正的区别:

$route['(.*)'] = 'controller';

$route['(:any)'] = 'controller';

我的路由没有任何问题,而且似乎工作方式相同,但只是想知道一种方法是否比另一种更好。

4

1 回答 1

0

好的,在深入研究 Router 类之后,似乎 (:any) 是一个 CodeIgniter 表达式,它被转换为正则表达式:

.+

这与使用 (.*) 不同,后者当然是一个正则表达式。因此,区别在于:

.+

.*

+ 匹配前一个字符 1 次或多次,而 * 匹配前一个字符 0 次或多次。鉴于前一个字符是 . (任何字符),这在使用它的上下文中基本上意味着相同的东西。希望这对其他人也有帮助。

于 2011-01-08T17:41:00.413 回答