thinkphp中url怎么不区分大小写
2022-11-24 11:02:51
131
{{single.collect_count}}

在thinkphp中,可修改“/ThinkPHP/Conf/convention.php”内的参数实现url不区分大小写,只需要在项目配置中添加“URL_CASE_INSENSITIVE=true”即可。url不区分大小写不会改变命名规则。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本文操作环境:linux7.3系统、ThinkPHP5版、Dell G3电脑。

thinkphp中url怎么不区分大小写

thinkphp是通过URL来定位模块类从而执行操作方法的,这里就出现了一个问题,就是URL大小写的问题,大家都知道,在linux下面对大小写是很敏感的,也就是区分大小写的,然而linux环境下的php虚拟主机都 是对php代码的支持是其它操作系统(如windows系统)要好,而thinkphp的url是区分大小写的,

为了避免这种需求方式的矛盾,如何将 thinkphp的url整理的和普通cms系统一样,没有大小写的区分类?

比如在linux环境下面,我们访问下面的URL是正常的。

http://www.php.cn/index.php/User/add
登录后复制

但是,如果我们这样访问

http://www.php.cn/index.php/user/add
登录后复制

就会出现模块不存在的错误,因为我们定义的是UserAction而不是userAction,所以在对大小写敏感的环 境下就会出错,这样的问题会造成用户体验的下降。其实我们要解决这个问题也是很简单的,系统就为我们提供了方案,

就是通过配置项来定义,这个thinkphp里面的配置项很重要的。

需要修改配置:/ThinkPHP/Conf/convention.php的参数:

我们只需要在项目配置中增加如下:

‘URL_CASE_INSENSITIVE’=>true
登录后复制

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

http://www.51php.com/index.php/user_type/add
登录后复制

URL不区分大小写并不会改变系统的命名规范,并且只有按照系统的命名规范后才能正确的实现URL不区分大小写。

09.png

推荐学习:《PHP视频教程

以上就是thinkphp中url怎么不区分大小写的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}