zend framework框架中url大小写问题解决方法
2014-08-19 00:00
471 查看
有用过Zend Framework框架开发过项目的网友都知道 Zend Framework (ZF) MVC中的Controller和Action名称默认是不支持大小写的,这对于已经习惯了驼峰式代码风格的开发人员来说,显然是难以接受的。还好可以设定前端控制器FrontController的useCaseSensitiveActions参数来让Zend Framework支持大小写的Controller与Action命名,代码如下:
现在如果在AppController中定义了一个Action叫做 CoderBolgAction();而要访问这个Action时,URL要写 http://localhost/app/coder-bolg/,注意Action的第二个大写字母前加上了'-'。这个倒还没事,至少问题解决了,而且加上'-'也不影响SEO,甚至比驼峰式对搜索引擎更为友好。但是又出现了一个让人更无法容忍的问题:URL也区别大小写了。就是说如果用户在URL中把Action的某个字母输入成了大写就无法显示。晕死……,不过这个也比较好解决。在路由前把ModuleName 、ControllerName 、ActionName 都修改成小写就解决了。我在Zend_Controller_Action的子类(在我们的项目中让这个子类继承Zend_Controller_Action,我们的Controller再继承这个类)的init()方法中加上这三行:
这样就解决了URL大小写敏感的问题。
$front = Zend_Controller_Front::getInstance(); $front->setParam('useCaseSensitiveActions',true);
现在如果在AppController中定义了一个Action叫做 CoderBolgAction();而要访问这个Action时,URL要写 http://localhost/app/coder-bolg/,注意Action的第二个大写字母前加上了'-'。这个倒还没事,至少问题解决了,而且加上'-'也不影响SEO,甚至比驼峰式对搜索引擎更为友好。但是又出现了一个让人更无法容忍的问题:URL也区别大小写了。就是说如果用户在URL中把Action的某个字母输入成了大写就无法显示。晕死……,不过这个也比较好解决。在路由前把ModuleName 、ControllerName 、ActionName 都修改成小写就解决了。我在Zend_Controller_Action的子类(在我们的项目中让这个子类继承Zend_Controller_Action,我们的Controller再继承这个类)的init()方法中加上这三行:
$this->_request->setModuleName( strtolower( $this->_request->getModuleName() ) ); $this->_request->setControllerName(strtolower($this->_request->getControllerName())); $this->_request->setActionName( strtolower( $this->_request->getActionName() ) );
这样就解决了URL大小写敏感的问题。
相关文章推荐
- zend framework框架中url大小写问题解决方法
- Zend Framework框架的Action大小写和请求URL大小写问题
- Zend Framework框架的Action大小写和请求URL大小写问题
- zend framework框架的action大小写和请求url大小写问题
- 解决URLDownloadToFile缓存问题的两种方法
- 中文VS2008中安装ASP.NET MVC框架出现问题的解决方法之完整版
- The requested URL /phpMyAdmin was not found on this server.问题解决方法
- Java解决在浏览器地址栏中输入url访问action的问题以及拦截方法过滤的简易实现
- asp.net用户控件中使用相对路径的解决方法--------图片路径问题(用户控件、图片路径),ResolveUrl
- Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(2)
- iPhone开发笔记(15)URL传参的问题和解决方法
- 解决URLDownloadToFile缓存问题的两种方法
- jQuery Validate验证框架 + CKEditor 无法验证问题的解决方法
- URL中文参数乱码问题解决方法!
- Struts1.2+Spring2.0+Hibernate3.1项目框架构建中的问题及解决方法集锦
- 在windows下利用firewatir搭建测试框架时遇到的编码问题和解决方法
- [转]中文VS2008中安装ASP.NET MVC框架出现问题的解决方法
- 中文VS2008中安装ASP.NET MVC框架出现问题的解决方法
- URL传值带加号“+”的问题的解决方法
- 关于Servlet报错:405 HTTP method GET is not supported by this URL问题解决方法