我想匹配一个像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);
但它不起作用。你能救我吗?
答案 0 :(得分:0)
问题可能与您应用的基本网址有关。
您可能已在基本网址http://localhost/
部署了应用。在这种情况下,您的路线需要包含sunnetwap
部分。
但我猜你的应用已部署到http://localhost/sunnetwap/
。在这种情况下,您的路线很好,但您可能在sunnetwap
上有localhost
别名,或者整个应用都被放入<docroot>/sunnetapp
并且您已移动了内容public
文件夹中某个级别的相应更改.htaccess
。这两种情况都可能对路由产生影响。
有关在无法将虚拟主机映射到应用时如何部署到子目录的一些想法,请参阅this answer。