yii2中单个控制器(模块)的漂亮URL

yii2中单个控制器(模块)的漂亮URL,yii,yii2,yii2-advanced-app,yii2-basic-app,Yii,Yii2,Yii2 Advanced App,Yii2 Basic App,假设我的应用程序路径是:- http://www.example.com/index.php?r=dashboard/event/view 我制作了一个新的控制器,我想在它上面把URL改成漂亮的URL 新控制器的默认URL http://www.example.com/index.php?r=newcontroller/view?id=23&name=urlpretty 我想使上面的网址,如美丽的网址 http://www.example.com/23/sampleprettyurl

假设我的应用程序路径是:-

http://www.example.com/index.php?r=dashboard/event/view
我制作了一个新的控制器,我想在它上面把URL改成漂亮的URL

新控制器的默认URL

http://www.example.com/index.php?r=newcontroller/view?id=23&name=urlpretty
我想使上面的网址,如美丽的网址

http://www.example.com/23/sampleprettyurl
但我不想将完整的应用程序URL路径更改为漂亮的URL。我的其他控制器路径/URL应正常工作


提前感谢

我认为这不可行,控制器名称必须在URL中,获取配置模块名称所需的内容,然后URL管理器:

    'urlManager'   => [
      'enablePrettyUrl'     => true,
      'showScriptName'      => false,
      'enableStrictParsing' => false,
      'rules'               => [
              'newcontroller/<id>/<name>'   => 'moduleAlias/newcontroller',
       ],
     ],
“urlManager”=>[
“enablePrettyUrl”=>true,
'showScriptName'=>false,
'enableStrictParsing'=>false,
“规则”=>[
'newcontroller/'=>'moduleAlias/newcontroller',
],
],
然后在操作中,您可以通过
Yii::$app->request->get('id')获取值

component => [
/* pretty url */
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
            ],
        ],
/* ./pretty url */
]
和.htaccess on/web

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

从来没有这样做过,但有一件事会突然出现在脑海中,那就是将2
UrlManager
定义为
UrlManager
urlmanagerrety
,它们在配置上只有一个区别,即
'enablePrettyUrl'=>true、
urlmanagerrety
'enablePrettyUrl'=>false,
对于
UrlManager
您需要使用
Yii::$app->urlmanagerrety->createUrl()
创建所有需要美观的URL,然后使用
Yii::$app->UrlManager->createUrl()
如何定义它们…目前我没有任何定义…您的意思是什么“我的另一个控制器路径/URL应该正常工作”?如果您设置了漂亮的URL,那么长而难看的URL应该仍在工作。
?r=newcontroller/view?id=23&name=urlprity
u不能用这种方式通过双重问题传递参数