0

我想匹配这样的 urlhttp://localhost/sunnetwap/1-hot并重写为 this 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);

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

4

1 回答 1

0

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

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

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

当您无法将虚拟主机映射到您的应用程序时,请参阅此答案以获取有关如何部署到子目录的一些想法。

于 2013-05-26T04:23:24.530 回答