让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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
PHP技术开发微信公众平台
Jul 22 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
24条货真价实的PHP代码优化技巧
Jul 28 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 PHP
Laravel创建数据库表结构的例子
Oct 09 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输出数组中重名的元素的几种处理方法
2012/09/05 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
Jquery attr("checked") 返回checked或undefined 获取选中失效
2013/10/10 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
JS的数组迭代方法
2015/02/05 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
js模块加载方式浅析
2017/08/12 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
js 函数性能比较方法
2020/08/24 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
python实现多线程网页下载器
2018/04/15 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
人事部专员岗位职责
2014/03/04 职场文书
大学军训感言400字
2014/03/11 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
葬礼主持词
2015/07/02 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python