php - Zend_Controller_Router_Route_Regex不能正常工作

时间:2013-05-24 13:24:10

标签: php zend-framework

我想匹配一个像http://localhost/sunnetwap/1-hot这样的网址并重写为此 http://localhost/sunnetwap/?c=1&s=hot。 在我的Bootstrap和_initRoutes函数中,我写道:

        $frontController = Zend_Controller_Front::getInstance();
        $route = new Zend_Controller_Router_Route_Regex(
                "([0-9]*)-([a-z]*)", 
                array(
                    'module' => 'default',
                    'controller' => 'index',
                    'action' => 'index'
                ),
                array(
                    1 => 'c',
                    2 => 's'
                ));
        $frontController->getRouter()->addRoute('home',$route);

但它不起作用。你能救我吗?

1 个答案:

答案 0 :(得分:0)

问题可能与您应用的基本网址有关。

您可能已在基本网址http://localhost/部署了应用。在这种情况下,您的路线需要包含sunnetwap部分。

但我猜你的应用已部署到http://localhost/sunnetwap/。在这种情况下,您的路线很好,但您可能在sunnetwap上有localhost别名,或者整个应用都被放入<docroot>/sunnetapp并且您已移动了内容public文件夹中某个级别的相应更改.htaccess。这两种情况都可能对路由产生影响。

有关在无法将虚拟主机映射到应用时如何部署到子目录的一些想法,请参阅this answer