我需要修剪我的网址的第一部分
示例/param1/12234/module/controller/action
将成为/module/controller/action/param1/12234
我试过
$ router-> addRoute('appid',new Zend_Controller_Router_Route中( 'APPID /:APPID /:模块/:控制器/:动作/', array(),array(2 =>“module”,3 =>“controller”,4 =>“action”)));
但不会奏效!
有些帮助?
答案 0 :(得分:1)
尝试:
<?php
//-------------------------
// Get router from front
// controller
$router = $this->frontController->getRouter();
//-------------------------
// Create route
$route = new Zend_Controller_Router_Route(
'controller/action/:appid/:param1',
array(
'module' => default',
'controller' => 'index',
'action' => 'index',
'appid' => '',
'param1' => 'default_value'
),
//-------------------------
// You can even add a regex
// to parameters. Example,
// appid can only be an integer
array(
'appid' => '\d+'
)
);
//-------------------------
// Add route to Router
$router->addRoute('appid', $route);
?>
当然,你需要替换一些东西(模块,控制器,动作和参数)。如果您没有使用模块,只需将其从阵列中删除即可。
最后,要在视图中使用路线,您可以使用:
$this->url(array('appid' => 1, 'param1' => 'custom_value'),'appid');
您可以在
中尝试以下操作<VirtualHost>
RewriteEngine On
RewriteRule ^/appid/(.*) /module/controller/action/$1 [R=301,L]
</VirtualHost>
如果您不需要使用永久301重定向,则可以删除R