Красивый URL для одного контроллера (модуля) в yii2 - PullRequest
0 голосов
/ 29 января 2019

Предположим, мой путь к приложению: -

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 голосов
/ 16 августа 2019

в конфигурации 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]
0 голосов
/ 03 апреля 2019

Я не думаю, что это выполнимо, имя контроллера должно быть в URL, получить то, что вам нужно для настройки имени модуля, затем urlManager:

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

Затем в действии вы можете получитьзначение по Yii::$app->request->get('id');

...