php链接没有下划线,thinkphp支持大小写url地址访问,不产生下划线的方法

thinkphp支持大小写url地址访问,不产生下划线的方法

发布于 2015-04-11 16:58:51 | 1104 次阅读 | 评论: 1 | 来源: 网友投递

ThinkPHP开源PHP框架ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP可以支持windows/Unix/Liunx等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite以及PDO等多种数据库

一、在配置文件中开启了thinkphp的大小写识别功能,使链接大小写都可以正常访问:

‘URL_CASE_INSENSITIVE’ =>true

文件命名都是规范的,但是在模板中使用__URL__获取当前url路径时,却没有正确得到url。

手册中这样写:

这里需要注意一个地方,如果我们定义了一个UserTypeAction的模块类,那么URL的访问应该是:

而不是

在模板中使用__URL__得到的链接还是下面那个,并没有加上下划线。

二、解决办法是修改tp的源代码:

在tp的Lib文件夹的Core文件夹下的Dispatcher.class.php文件,找到181行,这里定义了__URL__的地址获取方式:

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

if(define(www.domain.net)d(‘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

这样就OK了!

相关阅读:

thinkphp支持大小写url地址访问,不产生下划线的方法

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

ThinkPHP中URL路径访问与模块控制器之间的关系

ThinkPHP让../Public在模板不解析(直接输出)的方法

ThinkPHP实现非标准名称数据表快速创建模型的方法

ThinkPHP访问不存在的模块跳转到404页面的方法

thinkphp四种url访问方式讲解

ThinkPHP使用UTFWry ip地址库进行IP定位代码

thinkPHP显示不出验证码的原因与解决方法分析

thinkPHP显示不出验证码的原因与解决方法分析

thinkPHP js文件中U方法不被解析问题的解决方法

THinkPHP获取客户端IP与IP地址查询的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值