Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何修改URL管理器以仅接受yii中的数字而不接受字母_Php_Yii_Yii Url Manager - Fatal编程技术网

Php 如何修改URL管理器以仅接受yii中的数字而不接受字母

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+>'=>

我在yii从事一个项目,在管理Url管理器时遇到了一些问题。以下是Yii的默认Url管理器代码

'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',