Zend framework Zend_控制器_路由器_路由_正则表达式不区分大小写

Zend framework Zend_控制器_路由器_路由_正则表达式不区分大小写,zend-framework,routes,case-insensitive,Zend Framework,Routes,Case Insensitive,对于那些想知道为什么Zend\u Controller\u Router\u Route\u Regex匹配不同的路由的人,例如。hxxp://example.com/EN vs。hxxp://example.com/en,这里有一个解释 Zend\u Controller\u Router\u Route\u Regex隐式不区分大小写。它是在Zend\u Controller\u Route\u Regex::match()方法中设置的。这是一段设置PCRE\u无壳修饰符的代码: if (!

对于那些想知道为什么
Zend\u Controller\u Router\u Route\u Regex
匹配不同的路由的人,例如。hxxp://example.com/EN vs。hxxp://example.com/en,这里有一个解释

Zend\u Controller\u Router\u Route\u Regex
隐式不区分大小写。它是在
Zend\u Controller\u Route\u Regex::match()
方法中设置的。这是一段设置
PCRE\u无壳
修饰符的代码:

if (!$partial) {
 $path = trim(urldecode($path), '/');
 $regex = '#^' . $this->_regex . '$#i';
} else {
 $regex = '#^' . $this->_regex . '#i';
}

我不知道是否有任何方法可以从正则表达式内部抑制这种行为。有什么想法吗?

您可以扩展
Zend\u Controller\u Router\u Route\u Regex
,只需编写一个不同的
match
方法,其中唯一的区别是Regex模式减去
i
标志