嘿那里,这是一个新手Zend的问题。在网站位置:“ mydomain.org/subA/subB ”,如果我们在没有登录(或有会话)的情况下访问此位置,则i)重定向到登录页面。否则,它ii)重定向到竞赛登记表。现在,我认为Apache重写规则可以做到这一点,但是没有配置表明在我们的项目.htaccess文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
我知道可以做这种重写的唯一机制是i)Apache的mod_rewrite或ii)通过Zend的控制器或路由器组件重写。还有什么我可以错过的吗?就像我说我是一个PHP / Zend新手一样,所以有一些东西可以跟踪该请求以查看它通过的系统。
由于
答案 0 :(得分:-1)
我会使用Zend的内置路由库:
http://framework.zend.com/manual/en/zend.controller.router.html
Zend的路由器允许您从应用程序中创建重写路由,而无需编写自定义mod_rewrite规则。您从.htaccess文件粘贴的重写规则是Zend完成其工作所需的。
编辑:我更仔细地阅读了你的问题。我想你明白Zend有路线。如果您正在查找重定向工作的原因,请尝试检查控制器以查找需要进行身份验证的页面。如果在控制器中定义了preDispatch()
,则可能正在检查会话身份验证,并在缺少控制器时重定向到其他控制器。