我在URl的传参时参数有中文,结果报"模块不存在",一般情况是没有这种错误的,但今天让我遇到就顺手解决
ThinkPHP5.0支持在规则路由中为变量用正则的方式指定变量规则,弥补了动态变量无法限制具体的类型问题,并且支持全局规则设置
报错的原因很简单,application oute.php里设置了全局变量规则,它是下载就有的
<?php return [ //设置全局变量规则,全部路由有效 '__pattern__' => [ 'name' => 'w+', ],
'[hello]' => [ ':id' => ['index/hello', ['method' => 'get'], ['id' => 'd+']], ':name' => ['index/hello', ['method' => 'post']], ], ];
上面的意思就是全局变量name(也是url参数)只能数字和英文字母,不能是中文;我没有改规则之前,url的参数刚好是name,同时它的值也是中文,所以才报错。知道问题就好解决,直接把这个规则删除就可以了