Zend framework 更改url zend

Zend framework 更改url zend,zend-framework,url,url-rewriting,url-routing,Zend Framework,Url,Url Rewriting,Url Routing,class ContactusController扩展了Zend\u Controller\u操作它的结果url/contactus。我想更改url/contactus。如何在url中添加“-”。请帮助我找到解决方案您可以通过添加带有Zend_路由器的路由来实现 $router = $this->_front->getRouter(); $router->addRoute('contactus', new Zend_Controller_Router_Route('

class ContactusController扩展了Zend\u Controller\u操作
它的结果
url/contactus
。我想更改
url/contactus
。如何在url中添加“-”。请帮助我找到解决方案

您可以通过添加带有Zend_路由器的路由来实现

$router = $this->_front->getRouter();

$router->addRoute('contactus', 
    new Zend_Controller_Router_Route('contact-us',
        array(
            'controller' => 'contactus',
            'action'     => 'index',
            'category'   => null
        )
    );
);

您可以从

中了解更多信息,您可以使用Zend_路由器添加路由

$router = $this->_front->getRouter();

$router->addRoute('contactus', 
    new Zend_Controller_Router_Route('contact-us',
        array(
            'controller' => 'contactus',
            'action'     => 'index',
            'category'   => null
        )
    );
);
可以从

而不是

class ContactusController extends Zend_Controller_Action
使用camelCase名称:

class ContactUsController extends Zend_Controller_Action
使用
U
而不是
U

对于您的文件名,也应该是
控制器/ContactUsController.php
。按照惯例,url是
联系我们
联系我们/行动
,等等

而不是

class ContactusController extends Zend_Controller_Action
使用camelCase名称:

class ContactUsController extends Zend_Controller_Action
使用
U
而不是
U


对于您的文件名,也应该是
控制器/ContactUsController.php
。按照惯例,url是
联系我们
联系我们/操作
,等等。

对于这样一个简单的任务来说太复杂了,伊姆霍。@regilero Router是一个好方法,我从来没有说它容易学,但一旦你学会了,它是快速更改url的最简单的方法,而不是重命名控制器并对“U前进”进行任何更改,_重定向方法(如果您已应用:)。实际上,这取决于您是处于开发的开始阶段还是使用旧的代码库。使用“-”为所有url添加路由器“异常”规则意味着在dispatcher上添加了大量处理任务,这些任务实际上可以由默认路由器规则管理。这是一个变通解决方案,它不是在url中包含“-”的经典方法。对于这样一个简单的任务来说,它太复杂了。IMHO。@regilero Router是一个好方法,我从来没有说它容易学,但一旦你学会了它,它是比重命名控制器和在_前进中进行任何更改更简单的快速更改url的方法,_重定向方法(如果您已应用:)。实际上,这取决于您是处于开发的开始阶段还是使用旧的代码库。使用“-”为所有url添加路由器“异常”规则意味着在dispatcher上添加了大量处理任务,这些任务实际上可以由默认路由器规则管理。这是一个变通解决方案,不是在url中使用“-”的经典方式。