Yii2 干净的 URL 和操作参数

2024-01-19

我已经在 Yii2 应用程序上启用了干净的 URL,但我似乎无法将参数传递给操作。

我期望这样:

本地主机/应用程序/网络/a/b/c/d

映射到以下内容:

AController->actionB($c, $d)

这并没有发生。

这是我的 .htaccess:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule . index.php

我的 web.php 的相关部分:

'urlManager' => [
                'class' => 'yii\web\UrlManager',
                'enablePrettyUrl' => true,
                'showScriptName' => false,
                'rules' => array(
                        '<controller:\w+>/<id:\d+>' => '<controller>/view',
                    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
                ),
        ],

据我了解,规则应该类似于:

'<controller:\w+>/<action:\w+>/<c>/<d>' => '<controller>/<action>'

因此,如果您尝试访问localhost/app/web/a/b/c/d,Yii 会调用:

class AController extends Controller
{
    public function actionB($c, $d)
    {
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yii2 干净的 URL 和操作参数 的相关文章

随机推荐