Yii2 как скрыть имя модуля в URL?

Мне нужна помощь с UrlManager в Yii2. У меня есть приложение для блога. Есть модуль под названием "блог". Есть BlogController с индексным действием. Чтобы запустить его, я должен запустить URL, как это localhost/myblog/web/blog/blog/indexа такжеlocalhost/myblog/web/blog/blog/post?id=4 (для поста действий). Мои настройки в web.php такие:

'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        //'enableStrictParsing' => true,
        'rules' => [
        //'<action:(blog|index|)>' => 'blog/blog/index',
        //'/' => 'blog/blog/index'
        ]
    ],

Я попытался запустить с комментариями, но безуспешно. Как настроить так, чтобы URL были такими localhost/myblog/web/index а также localhost/myblog/web/post?id=4? С уважением.

1 ответ

"urlManager" сам по себе не может вам помочь. Вам нужно использовать.htaccess. Тогда это будет работать так, как вы хотите. Пожалуйста, скопируйте ниже коды в вас.htaccess..Htaccess вы должны положить в корневую папку.

  <IfModule mod_rewrite.c>
     RewriteEngine On
  </IfModule>

# If a directory or a file exists, use it directly
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
  RewriteRule . index.php

Надеюсь, это поможет. Благодарю.

Другие вопросы по тегам