yii2 UrlManager 的自定义rules的bug,无法以“/”结尾
假如我想实现这样的,访问
'info/<type:(area|cat)>-<v1:\d+>-<v2:\d+>-<v3:\d+>/' => 'info/list', ,
我发现当我结尾加了那个 /,他会提示报错 404 NotFound。仔细跟踪代码,生成的匹配规则是:
#^info/(?P<type>(area|cat))-(?P<v1>\d+)-(?P<v2>\d+)-(?P<v3>\d+)/(?P<page>(\d+))$#u,结尾的斜杠在 https://github.com/yiisoft/yii2/blob/master/framework/web/UrlRule.php#L194 这一行被强制去掉,如果我不要结尾的斜杠,就可以访问正常。
$this->pattern = '#^' . trim(strtr($this->_template, $tr), '/') . '$#u';
我现在需要实现的是必须以 / 斜杠结尾才可以访问。yii2却因为trim了两边的,应该改成 ltrim()