Zend framework 向zend router添加特定字符
这里有没有在zend url中使用空格或“!”的方法? 我有以下路由代码:Zend framework 向zend router添加特定字符,zend-framework,routing,Zend Framework,Routing,这里有没有在zend url中使用空格或“!”的方法? 我有以下路由代码: 'route' => '/city[/:action][/:id]', 'constraints' => array( 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 'id' => '[a-zA-Z][a-zA-Z0-9_-]*', ), 现在我可以有这种类型的URL:/city/index/Paris,但是如果我把它放在-/city/ind
'route' => '/city[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
现在我可以有这种类型的URL:/city/index/Paris,但是如果我把它放在-/city/index/newyork上,它就不起作用了,给我一个404错误。
我已经试着把这个写进“id”里了-
'[a-zA-Z][a-zA-Z0-9_-][ ]*'
或
,但又是404
编辑
如果我加上西里尔文字的限制,像这样
'id' => '[a-zA-Zа-яА-я][a-zA-Zа-яА-Я0-9_-]*',
我不能使用像/city/index/Мааа这样的url。
请帮帮我。只需在正则表达式模式中添加一个空格。使用此“[a-zA-Z][a-zA-Z0-9_-]*”模式在路线中匹配您的id。不,它不起作用。甚至城市/指数/巴黎也停止了这方面的工作。URL不能包含文本空间。它必须使用百分比编码或使用URL安全字符的其他编码进行编码。明白了,谢谢。所以,在向数据库添加空间之前,我应该删除所有空格。有西里尔语的城市呢?我可以使用这样的URL,或者需要翻译吗?
'id' => '[a-zA-Zа-яА-я][a-zA-Zа-яА-Я0-9_-]*',