让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下通过POST还是GET来传值
Jun 05 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
php线性表顺序存储实现代码(增删查改)
Feb 16 PHP
php替换超长文本中的特殊字符的函数代码
May 22 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
Jun 18 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
php中memcache 基本操作实例
May 17 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
PHP中递归的实现实例详解
Nov 14 PHP
PHP实现的数据对象映射模式详解
Mar 20 PHP
Laravel-admin之修改操作日志的方法
Sep 30 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
ASP知识讲座四
2006/10/09 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
php轻松实现文件上传功能
2016/03/03 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
PHP之header函数详解
2021/03/02 PHP
网页常用特效代码整理
2006/06/23 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
js实现网页收藏功能
2015/12/17 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
python基础教程之元组操作使用详解
2014/03/25 Python
Python3 socket同步通信简单示例
2017/06/07 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
python对象与json相互转换的方法
2019/05/07 Python
django数据库自动重连的方法实例
2019/07/21 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
python中time tzset()函数实例用法
2021/02/18 Python
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
自荐信需注意事项
2014/01/25 职场文书
《孔繁森》教学反思
2014/04/17 职场文书
平安工地建设方案
2014/05/06 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS