ThinkPHP5框架URL参数带中文,报”模块不存在”

我在URl的传参时参数有中文,结果报”模块不存在”,一般情况是没有这种错误的,但今天让我遇到就顺手解决

ThinkPHP5.0支持在规则路由中为变量用正则的方式指定变量规则,弥补了动态变量无法限制具体的类型问题,并且支持全局规则设置

报错的原因很简单,application\route.php里设置了全局变量规则,它是下载就有的

<?php
return [
    //设置全局变量规则,全部路由有效
    '__pattern__' => [
        'name' => '\w+',
    ],
'[hello]' => [ ':id' => ['index/hello', ['method' => 'get'], ['id' => '\d+']], ':name' => ['index/hello', ['method' => 'post']], ], ];

上面的意思就是全局变量name(也是url参数)只能数字和英文字母,不能是中文;我没有改规则之前,url的参数刚好是name,同时它的值也是中文,所以才报错。知道问题就好解决,直接把这个规则删除就可以了