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')获取值在config web.php中编码>
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]
从来没有这样做过,但有一件事会突然出现在脑海中,那就是将2UrlManager
定义为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不能用这种方式通过双重问题传递参数