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

wvt8vs2t  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(152)

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

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

我想把上面的URL改成漂亮的URL,比如

http://www.example.com/23/sampleprettyurl

但我不想把完整的应用程序URL路径改为漂亮的URL。我的其他控制器路径/URL应该可以正常工作。
先谢谢你

nhjlsmyf

nhjlsmyf1#

我认为是不行的,控制器名称必须在URL中,得到你需要配置的模块名称,然后urlManager:

'urlManager'   => [
      'enablePrettyUrl'     => true,
      'showScriptName'      => false,
      'enableStrictParsing' => false,
      'rules'               => [
              'newcontroller/<id>/<name>'   => 'moduleAlias/newcontroller',
       ],
     ],

然后在动作中你可以通过Yii::$app->request->get('id');得到值

n3ipq98p

n3ipq98p2#

在配置web.php中

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

和/web上的.htaccess

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

相关问题