我使用的是cakehp2.3.8,我有这个自定义路由。
Router::connect('/:regione/*', array('controller' => 'ads', 'action' => 'region'), array('regione' => 'WHAT HERE??' ));
现在,如果我的:regione不是,并且以字符串auth开始,我必须执行此路由。
示例:
example.com/abruzzo (ok)
example.com/abruzzo/2 (ok)
example.com/abruzzo/3 (ok)
example.com/auth (NO)
example.com/auth/something (NO)
在这种情况下,我不知道如何编写此regex,因为我需要执行路由IF与auth字符串不匹配/START。
谢谢!
我认为应该使用负前瞻:
(?!auth).*
这应该匹配所有不以auth
开头的内容,这意味着即使是authenticate
也不会匹配。
内部编译的路由正则表达式如下所示:
#^(?:/(?P<regione>(?!auth).*))(?:/(?P<_args_>.*))?[/]*$#