0

我对正则表达式路由有反向问题,我的配置文件如下:

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 实体看起来都很丑陋。

谢谢 :)

4

1 回答 1

3

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

<?=$this->url(array(
   'url_path' => 'whatever',
   'url' => 'something'
   'options' => 'foo',
   'page' => 'bar'
), 'route1', false, false)?>
于 2009-05-11T20:54:12.487 回答