Php zend mod重写或路由
Php zend mod重写或路由,php,model-view-controller,zend-framework,mod-rewrite,zend-route,Php,Model View Controller,Zend Framework,Mod Rewrite,Zend Route,我在web应用程序中使用Zend Framework。我有下一个URL:域/用户/用户/用户名。其中第一个用户是默认模块中的控制器。第二个user是GET变量username是此变量的值。一切都好。但是为了更好的可用性,我想要下一个URL:domain/user/username。我知道根据Zend GET规则,它应该是我的第一个变体。但也许我可以用mod重写或Zend_路由来实现这一点?请帮帮我。提前谢谢。创建/application/configs/routes.xml: <?xml
我在web应用程序中使用Zend Framework。我有下一个URL:
域/用户/用户/用户名
。其中第一个用户
是默认
模块中的控制器。第二个user
是GET
变量username
是此变量的值。一切都好。但是为了更好的可用性,我想要下一个URL:domain/user/username
。我知道根据Zend GET规则,它应该是我的第一个变体。但也许我可以用mod重写或Zend_路由来实现这一点?请帮帮我。提前谢谢。创建
/application/configs/routes.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<routes>
<user>
<route>user/:username/*</route>
<defaults>
<module>default</module>
<controller>user</controller>
<action>view</action>
<username>0</username>
</defaults>
</user>
</routes>
您也可以通过许多其他方式执行相同操作,例如,在
application.ini
中,在application.ini中添加:
resources.router.routes.article.type = "Zend_Controller_Router_Route"
resources.router.routes.article.route = "user/:username/*"
resources.router.routes.article.defaults.module = "default"
resources.router.routes.article.defaults.controller = "user"
resources.router.routes.article.defaults.action = "view"
resources.router.routes.article.reqs.username = "guest"
我建议你看看:
不知道您的框架是否允许,但为什么不将username作为GET变量呢?谢谢。如果我没有找到另一个解决方案,我会照你说的做。谢谢。这是一个很好的答案。但是我的应用程序基于
.ini
配置文件。你能给我举个ini配置的例子吗?@Alexander是的,我可以,但你太懒了,不想看;)
resources.router.routes.article.type = "Zend_Controller_Router_Route"
resources.router.routes.article.route = "user/:username/*"
resources.router.routes.article.defaults.module = "default"
resources.router.routes.article.defaults.controller = "user"
resources.router.routes.article.defaults.action = "view"
resources.router.routes.article.reqs.username = "guest"