让ThinkPHP支持大小写url地址访问的方法


Posted in PHP onOctober 31, 2014

本文实例讲述了让thinkphp支持大小写url地址访问的方法。分享给大家供大家参考。具体实现方法如下:

通常ThinkPHP默认是区别大小写url的,这种也是与linux系统一样在小写url是两个不同的名字,但我们使用windows习惯了对于大小写都认为一样的,所以还是要根据用户习惯来处理问题,下面我们一起来看问题解决方法。

在配置文件中开启了thinkphp的大小写识别功能,使链接大小写都可以正常访问:
'URL_CASE_INSENSITIVE' =>true
文件命名都是规范的,但是在模板中使用__URL__获取当前url路径时,却没有正确得到url。
手册中这样写:
这里需要注意一个地方,如果我们定义了一个UserTypeAction的模块类,那么URL的访问应该是:
http://serverName/index.php/user_type/list
而不是
http://serverName/index.php/usertype/list
在模板中使用__URL__得到的链接还是下面那个,并没有加上下划线。
这个问题在网上也有很多人反馈,有个解决办法是修改tp的源代码:
在tp的Lib文件夹的Core文件夹下的Dispatcher.class.php文件,找到181行,这里定义了__URL__的地址获取方式:

$moduleName = defined('MODULE_ALIAS')?MODULE_ALIAS:MODULE_NAME;

if(defined('GROUP_NAME')) {

    define('__URL__',!empty($domainModule)?__GROUP__.$depr : __GROUP__.$depr.( C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName ) );

}else{

    define('__URL__',!empty($domainModule)?__APP__.'/' : __APP__.'/'.( C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName) );

}

把其中的
C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName )
改成:
C('URL_CASE_INSENSITIVE')?parse_name($moduleName,0):$moduleName

这样问题就搞定了!

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

PHP 相关文章推荐
php递归实现无限分类生成下拉列表的函数
Aug 08 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
php curl 上传文件代码实例
Apr 27 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
php实现的http请求封装示例
Nov 08 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
Jun 06 PHP
在laravel框架中使用model层的方法
Oct 08 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 #PHP
php使用fopen创建utf8编码文件的方法
Oct 31 #PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 #PHP
PHP页面实现定时跳转的方法
Oct 31 #PHP
Thinkphp多文件上传实现方法
Oct 31 #PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 #PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 #PHP
You might like
在 PHP 中使用随机数的三个步骤
2006/10/09 PHP
PHP 面向对象实现代码
2009/11/11 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
如何在PHP中生成随机数
2020/06/04 PHP
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
基于jquery的放大镜效果
2012/05/30 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
gulp解决跨域的配置文件问题
2017/06/08 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
深入理解javascript中的this
2021/02/08 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
Django添加sitemap的方法示例
2018/08/06 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
利用Python计算KS的实例详解
2020/03/03 Python
优秀团队获奖感言
2014/02/19 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
党员自我评价2015
2015/03/03 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
单位工资证明范本
2015/06/12 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书