让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 相关文章推荐
Classes and Objects in PHP5-面向对象编程 [1]
Oct 09 PHP
如何将数据从文本导入到mysql
Oct 09 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
php 猴子摘桃的算法
Jun 20 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 PHP
PHP APP微信提现接口代码
Sep 30 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
php判断IP地址是否在多个IP段内
Aug 18 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
ThinkPHP写第一个模块应用
2012/02/20 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
python类和函数中使用静态变量的方法
2015/05/09 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
4s店机修工岗位职责
2013/12/20 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
党建目标管理责任书
2014/07/25 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
瘦西湖导游词
2015/02/03 职场文书
地道战观后感2000字
2015/06/04 职场文书
复活读书笔记
2015/06/29 职场文书
七年级作文之秋游
2019/10/21 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers