自2.1.4以来,不推荐使用查询路由,我将这样路由到我的博客:
'cro-blog' => array(
'type' => 'Literal',
'options' => array(
'route' => '/blog',
'defaults' => array(
'controller' => 'CroBlog\BlogController',
'action' => 'index',
),
),
),
并链接到/blog?p=x
等网页,其中x
是页码。在我添加子路由之前,这非常有效。链接到/blog
仍然有效,但链接到页面会产生404(更具体的'请求的URL无法通过路由匹配'。)。这是我目前的设置:
'cro-blog' => array(
'type' => 'Literal',
'options' => array(
'route' => '/blog',
'defaults' => array(
'controller' => 'CroBlog\BlogController',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'post' => array(
'type' => 'Segment',
'options' => array(
'route' => '/:slug',
'constraints' => array(
'slug' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'action' => 'post',
),
),
),
),
),
我正在使用Segment子路由,但Literal子路由存在同样的问题。
任何保持页面查询和子路由的方法吗?
答案 0 :(得分:0)
这已经解决了。如果有人遇到同样的问题,这对我有用。
我安装了2.1.5dev并解决了这个问题。想要确定它是否是一个错误,所以再次尝试2.1.4并且问题仍然是固定的。所以这是我的结论。缓存可能是一件奇怪的事情。
编辑过早地跳到(错误的)结论。解雇了Zend Studio 10,现在再次出现问题。我认为Zend Studio 10正在恢复一些文件(不是所有文件,因为查询路由确实被标记为已弃用)。不过,考虑到这个解决了,只需找到一种方法告诉Zend Studio 10使用2.1.4。谢谢!