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

时间:2019-01-29 10:43:11

标签: 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

我想将上述URL设为

之类的漂亮URL
http://www.example.com/23/sampleprettyurl

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

预先感谢

2 个答案:

答案 0 :(得分:0)

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

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

然后在操作中,您可以通过Yii::$app->request->get('id');

获取值

答案 1 :(得分:-1)

在配置web.php中

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

和.htaccess

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