@knowledge

Почему не работают красивые ссылки в Yii2?

Установил yii2 через composer
Прописал в настройках apache директорию root - project/web, чтобы избавится от web/index.php
в папку web засунул .htaccess с содержанием
<IfModule mod_rewrite.c>    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . index.php
</IfModule>

и раскомментировал UrlManager
Одним словом один в один по туториалам (а также по одному видео уроку) что впрочем абсолютно одинаково.

и вот сайт открывается через project/
перехожу по ссылке project/site/about
бах.... 404 Not Found...
Волшебство...
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Pios88
У меня заработало так:

web/config.php :
'components' => [
        'request' => [
            'baseUrl' => ''
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                '' => 'site/index',
            ],


.htaccess в корне:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine On
 
RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule (.*) /web/$1
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php


.htaccess в папке web:
RewriteEngine On RewriteBase /
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
RewriteRule . index.php


Без 'rules' => [ '' => 'site/index', ], - тоже можно, но тогда маршрутизация работает, но стили отъезжают, хотя в видеоуроках у их авторов почему-то все работало:)

Речь о Yii2 basic.
Ответ написан
Ваш ответ на вопрос

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

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