Zend Route Regex正向斜线的反向问题

时间:2009-05-11 16:04:34

标签: php regex zend-framework routes reverse

我的regex路由反向有问题,我的配置文件如下:

routes.route1.type = "Zend_Controller_Router_Route_Regex"
routes.route1.route = "([^\,]+)([^p]*)(?:\,page_[0-9]+)?\.html"
routes.route1.defaults.controller = "index"
routes.route1.defaults.action = "find"
routes.route1.map.1 = "url_path"
routes.route1.map.2 = "url"
routes.route1.map.3 = "options"
routes.route1.map.4 = "page"
routes.route1.reverse = "%s%s,page_%d.html"

网址为http://www.site.com/cat1/cat2/cat3/cat4/cat5/title-id1_id2,page_1.html 类别数量未指定 当前正则表达式工作正常,并立即获取所有类别,但反向格式化所有正斜杠到HTML格式:%2F 有谁知道我怎么能保持正斜杠?我需要反向分页,所有的html实体看起来都很丑陋。

thx:)

1 个答案:

答案 0 :(得分:3)

如果您正在使用URL帮助程序,请将第四个参数设置为false以禁用编码(默认情况下处于启用状态)。如下所示:

<?=$this->url(array(
   'url_path' => 'whatever',
   'url' => 'something'
   'options' => 'foo',
   'page' => 'bar'
), 'route1', false, false)?>