您好我正在尝试在zf2路由中传递正则表达式,我的路由器看起来像这样:
'exampleroute' => array(
'type' => 'segment',
'options' => array(
'route' => '/exampleroute/[:regexparameter]',
'constraints' => array(
'regexparameter' => '[a-zA-Z][a-zA-Z0-9_-][$.]*',
),
'defaults' => array(
'__NAMESPACE__' => 'Mynamespace\Controller',
'controller' => 'exampleroute',
'action' => 'example',
),
),
),
我想传递以下网址:http://mydomain.com/exampleroute/$2y$14$aPW5u7oGpuuMPRKRz6la1.m2SpJ2STFJ9BZ7giSwfKQxWKIuTODmW
但是它给我一个错误“请求的网址无法通过路由匹配。”
答案 0 :(得分:2)
[a-zA-Z][a-zA-Z0-9_-][$.]*
表示:
a-zA-Z
a-zA-Z0-9_-
$
或.
符号我想你需要这个:
[a-zA-Z0-9_-$.]*
答案 1 :(得分:0)
现在这样工作:
'exampleroute' => array(
'type' => 'segment',
'options' => array(
'route' => '/exampleroute/[:regexparameter]',
'constraints' => array(
'regexparameter' => '[$.a-zA-z0-9_-]*',
),
'defaults' => array(
'__NAMESPACE__' => 'Mynamespace\Controller',
'controller' => 'exampleroute',
'action' => 'example',
),
),
),