新闻中心

thinkphp如何实现URL不区分大小写

作者 / 无忧主机 时间 2012-10-09 07:44:42

无忧主机(www.51php.com)小编在前面和大家讲过,thinkphp是通过URL来定位模块类从而执行操作方法的,这里就出现了一个问题,就是URL大小写的问题,大家都知道,在linux下面对大小写是很敏感的,也就是区分大小写的,然而linux环境下的php虚拟主机都是对php代码的支持是其它操作系统(如windows系统)要好,而thinkphp的url是区分大小写的,为了避免这种需求方式的矛盾,如何将thinkphp的url整理的和普通cms系统一样,没有大小写的区分类?那么,要怎么做才能让我们的程序更加的完美,通用性更强,更加人性化呢,无忧主机小编(www.51php.com)今天就针对URL大小写的问题来做讲解,比如在linux环境下面,我们访问下面的URL是正常的。

http://www.51php.com/index.php/User/add

但是,如果我们这样访问

http://www.51php.com/index.php/user/add

就会出现模块不存在的错误,因为我们定义的是UserAction而不是userAction,所以在对大小写敏感的环境下就会出错,这样的问题会造成用户体验的下降。其实我们要解决这个问题也是很简单的,系统就为我们提供了方案,就是通过配置项来定义,记得小编在前面和大家讲过了这个thinkphp里面的配置项很重要的。我们只需要在项目配置中增加如下:

'URL_CASE_INSENSITIVE'=>true

这样就可以实现URL不区分大小写了,这里有个需要注意的地方就是,如果你定义的是这样类型的模块类UserTypeAction,模块名两个首字母大写,通过加下划线的方式来访问,

http://www.51php.com/index.php/user_type/add

小编最后再补充一点,URL不区分大小写并不会改变系统的命名规范,并且只有按照系统的命名规范后才能正确的实现URL不区分大小写。好了,本章比较简单,到此结束!

纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.51php.com/thinkphp/9085.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服