Serggalas
@Serggalas
Учусь

Как правильно настроить UrlManager?

Использую advanced, настраиваю UrlManager в common/config/main.php следующим образом

'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules'=>[
                '/' => 'site/index',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ]

        ],

потом пытаюсь использовать так

<li><a href="<?= Yii::$app->urlManager->createUrl(['/blog/list']) ?>">Блог</a></li>


выдает адрес blog/list (то есть без доменного имени). Объясните что я делаю не так? И как правильно настроить что бы адрес был условно mysite/blog/list (ну или на худой конец mysite/frontend/web/blog/list.
вот .htaccess

<IfModule mod_rewrite.c>
        Options +FollowSymlinks
        RewriteEngine On
    </IfModule>
     

    <IfModule mod_rewrite.c>
        RewriteCond %{REQUEST_URI} ^/(admin)
        RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L]
        RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L]

    RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css)/
    RewriteCond %{REQUEST_URI} ^/(admin)
    RewriteRule ^.*$ backend/web/index.php [L]

    RewriteCond %{REQUEST_URI} ^/(assets|css|js|images)
    RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L]
    RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
    RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
    RewriteRule ^images/(.*)$ frontend/web/images/$1 [L]
    RewriteRule ^(.*)$ frontend/web/$1 [L]

    RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css|js)/
    RewriteCond %{REQUEST_URI} !index.php
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ frontend/web/index.php
</IfModule>


вот frontend/config/main.php

'request' => [
                'baseUrl' => '/'
            ],

вот frontend/web/.htaccess
<IfModule mod_autoindex.c>
          Options -Indexes
    </IfModule>
        
    <IfModule mod_rewrite.c>
          Options +FollowSymlinks
          RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule . index.php
    </IfModule>
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы