Yii2 UrlManager打破期间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2 UrlManager打破期间相关的知识,希望对你有一定的参考价值。
我目前正在使用yii2 urlManager
创建一个漂亮的URL。它接收一个参数,然后根据它查找用户。不幸的是,如果参数包含句点,它将根本不运行并重定向到404
页面。
所以,
mysite.com/me/jbroad
效果很好,但是
mysite.com/me/j.broad
返回404页面。
这是我的网址管理员代码
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/index',
'me/<id:w+>' => 'kit/page',
'generate/<id:w+>' => 'kit/generate',
'<controller:w+>/<action:w+>/<id:d+>' => '<controller>/<action>',
],
],
答案
你使用正则表达式与令牌w+
匹配任何单词字符(等于[a-zA-Z0-9_]
),不包括句号或.
。
所以把它改成[w.]+
,现在你的规则就是
me/<id:[w.]+>' => 'kit/page',
另一答案
而不是 w +,放[-a-zA-Z0-9 _。] +
例:
'me/<id:[-a-zA-Z0-9_.]+>' => 'kit/page',
以上是关于Yii2 UrlManager打破期间的主要内容,如果未能解决你的问题,请参考以下文章