Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework zend route正则表达式发行_Zend Framework_Zend Route - Fatal编程技术网

Zend framework zend route正则表达式发行

Zend framework zend route正则表达式发行,zend-framework,zend-route,Zend Framework,Zend Route,我正在尝试在ini文件中创建一个与以下URL匹配的路由,但没有成功 /add-announce.html /add-announce-books-53.html 我的路线是: routes.add_announcement.type = "Zend_Controller_Router_Route_Regex" routes.add_announcement.route = "/add-announce(-[a-zA-Z_]+)?(-[\d]+)?.html" routes.add_announ

我正在尝试在ini文件中创建一个与以下URL匹配的路由,但没有成功

/add-announce.html
/add-announce-books-53.html
我的路线是:

routes.add_announcement.type = "Zend_Controller_Router_Route_Regex"
routes.add_announcement.route = "/add-announce(-[a-zA-Z_]+)?(-[\d]+)?.html"
routes.add_announcement.defaults.module = announcement
routes.add_announcement.defaults.controller = frontend
routes.add_announcement.defaults.action = add
routes.announcements.defaults.catName = null
routes.announcements.defaults.catId = null
routes.add_announcement.map.catName = 1
routes.add_announcement.map.catId = 2

可能因为您的匹配项在开始时有“-”,您可以尝试使用:

routes.add_announcement.route = "add-announce(?:-([a-zA-Z_]+))?(?:-([\d]+))?.html"
编辑:我刚刚发现错误,您将映射值设置错误:

routes.add_announcement.map.catName = 1
routes.add_announcement.map.catId = 2
相反,你必须这样做:

routes.add_announcement.map.1 = "catName"
routes.add_announcement.map.2 = "catId"

另外,
routes.announcements.defaults.catName
不应该是
routes.add_announcement.defaults.catName

可能是因为您的匹配项在开头有“-”,您可以尝试使用:

routes.add_announcement.route = "add-announce(?:-([a-zA-Z_]+))?(?:-([\d]+))?.html"
编辑:我刚刚发现错误,您将映射值设置错误:

routes.add_announcement.map.catName = 1
routes.add_announcement.map.catId = 2
相反,你必须这样做:

routes.add_announcement.map.1 = "catName"
routes.add_announcement.map.2 = "catId"

另外,
routes.announcements.defaults.catName
不应该是
routes.add\u announcement.defaults.catName

仍然失败(页面不会加载)。谢谢你的回复:)@user1059855我编辑了我的答案。。尝试删除第一个“/”尝试删除它,添加反斜杠。也许问题出在别的地方。然而,所有其他正常路由都可以正常工作:-|@user1059855检查新的答案。my bad当缺少“add|”时,它无论如何都不会影响路由。事实上,交换变量映射导致页面加载(zend手册似乎已经过时,因为映射在手册中似乎是有效的)。现在让它工作。干杯:)仍然失败(页面无法加载)。谢谢你的回复:)@user1059855我编辑了我的答案。。尝试删除第一个“/”尝试删除它,添加反斜杠。也许问题出在别的地方。然而,所有其他正常路由都可以正常工作:-|@user1059855检查新的答案。my bad当缺少“add|”时,它无论如何都不会影响路由。事实上,交换变量映射导致页面加载(zend手册似乎已经过时,因为映射在手册中似乎是有效的)。现在让它工作。干杯:)