Php 如何修改URL管理器以仅接受yii中的数字而不接受字母
我在yii从事一个项目,在管理Url管理器时遇到了一些问题。以下是Yii的默认Url管理器代码Php 如何修改URL管理器以仅接受yii中的数字而不接受字母,php,yii,yii-url-manager,Php,Yii,Yii Url Manager,我在yii从事一个项目,在管理Url管理器时遇到了一些问题。以下是Yii的默认Url管理器代码 'urlManager'=>array( 'urlFormat'=>'path', 'showScriptName'=>false, 'rules'=>array( '<controller:\w+>/<id:\d+>'=>
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
然后它会把我带到想要的地方。但是上面的URL管理器的问题是如果我使用像
localhost/project/admin/showMe/view/id/24someAlphabets这样的URL
然后它还会将我带到所需的位置,因为URL管理器会找到号码。
问题:-
那么如何更改URL管理器,使其仅在我传递数字而不是字母时才能将我带到所需位置?\d+
将匹配字符串中的任何数字,并忽略任何其他字母。如果只想匹配数字而不想匹配其他内容,则必须使用字符串开头(^
)和字符串结尾($
)锚定:
'/'=>'/view',
localhost/project/admin/showMe/view/id/24
'<controller:\w+>/<id:^\d+$>'=>'<controller>/view',