URL不表现为预期Zend框架
当调用控制器的init方法如下类型的网址,我得到两个不同的服务器上的两个不同的结果:URL不表现为预期Zend框架
http://address.com/index/action/?start=2009-04-18&end=2009-04-21
调用
echo $ _GET ['start'];
给我2009-04-18在一台服务器上,而在另一台服务器上什么都没有。
然而,这是奇怪的部分,加入
出口();
之后,echo语句导致2009-04-18在两台服务器上按预期显示。
仅供参考请求params显示它们在一台服务器上可用,但不在另一台服务器上可用...除非您调用exit();
世界上可能造成这种情况的是什么?我意识到这不是在ZF中构建URL的方式,但它是在特定项目中完成的方式。也许某种自定义路线会有所帮助? STill没有解释exit();位导致$ _GET变量显示。
编辑:为了解决这个问题,我现在写了一个自定义路线,但是?在网页中混乱了事情。通过包含它,似乎GET变量被强制并覆盖了我的自定义路由。离开它,一切工作正常在我创建的路线,但我没有选择删除?任何人都知道如何使自定义路线优先于当被填充的GET变量?在那里?
我的猜测是$ _GET ['start']实际上是在两个服务器上工作,问题是没有显示任何问题后,这个语句没有问题,但回声的输出仍然在输出缓冲区。如果你在echo之后执行了flush(),你应该能够看到输出,然后无论后缀是否会崩溃,但你会看到日期。
我不确定你在做什么路由(没有足够的代码看),但你的查询字符串(后面的所有内容)与你的路由完全不同。如果您要使用路由,您需要使用ZF Quickstart页面上提供的.htaccess文件来启用mod_rewrite。
我想你会想制作你自己的自定义路由器(不只是一个路由),然后使用$ _GET参数来路由到你想要的控制器,以及它需要的参数。默认路由器不会用QueryString做复杂的事情,至少不是我最后一次检查。