我正在使用cakephp 2.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)
我不知道在这种情况下如何编写这个正则表达式,因为我需要使用 auth 字符串执行路径IF 不匹配/开始。
谢谢!
答案 0 :(得分:1)
我认为使用否定前瞻应该这样做:
(?!auth).*
这应匹配不以auth
开头的所有内容,这意味着authenticate
甚至不会匹配。
内部编译的路由正则表达式如下所示:
#^(?:/(?P<regione>(?!auth).*))(?:/(?P<_args_>.*))?[/]*$#