Php URL不接受字母数字参数-Yii2应用程序基本
很快,我通过了41个URL。confirm.php打印41 但是,当我在URL中传递“cfeb70c4c627167ee56d6e09b591a3ee”或“41a”时 它显示了错误 未找到(#404)Php URL不接受字母数字参数-Yii2应用程序基本,php,yii2,url-routing,yii2-basic-app,Php,Yii2,Url Routing,Yii2 Basic App,很快,我通过了41个URL。confirm.php打印41 但是,当我在URL中传递“cfeb70c4c627167ee56d6e09b591a3ee”或“41a”时 它显示了错误 未找到(#404) 找不到页面 Web服务器处理您的请求时发生上述错误。如果您认为合适,请联系我们 这是一个服务器错误。多谢各位 我想向用户发送确认id以确认其帐户。 这就是传递随机数“cfeb70c4c627167ee56d6e09b591a3ee”的原因 那个么,我该怎么做才能使URL接受字母数字参数呢 co
找不到页面 Web服务器处理您的请求时发生上述错误。如果您认为合适,请联系我们 这是一个服务器错误。多谢各位 我想向用户发送确认id以确认其帐户。 这就是传递随机数“cfeb70c4c627167ee56d6e09b591a3ee”的原因 那个么,我该怎么做才能使URL接受字母数字参数呢 config/web.php
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => false,
'rules' => [
'<controller>/<action>/<id:\d+>' => '<controller>/<action>'
],
],
public function actionConfirm($id)
{
$id = Yii::$app->request->get('id');
$this->view->params['customParam'] = $id;
return $this->render("confirm",array("id"=>$id));
}
换行
'<controller>/<action>/<id:\d+>' => '<controller>/<action>'
'/'=>'/'
对此
'<controller>/<action>/<id:[a-z0-9]+>' => '<controller>/<action>'
'/'=>'/'
这应该可以做到当前规则声明id是一个数字(
\d+
),因此它在示例中不起作用。我不会修改当前规则,而是专门针对这种情况添加一条规则:
'rules' => [
'site/confirm/<id:\w+>' => 'site/confirm',
'<controller>/<action>/<id:\d+>' => '<controller>/<action>'
],
“规则”=>[
“站点/确认/”=>“站点/确认”,
'//' => '/'
],
非常好@Paladin先生。还有一件事,您是否有详细描述这种URL参数的文档。如果是,请与我分享。我会在几分钟内接受答案。它工作得很好。感谢您提供了2.0文档的链接: