Убрал index.php из url в UrlManger, но без него страницы открываются 404

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Maksat1991
Сообщения: 57
Зарегистрирован: 2016.10.16, 00:15

Убрал index.php из url в UrlManger, но без него страницы открываются 404

Сообщение Maksat1991 »

Url::to() генерирует url-адреса без /index.php.
Но при переходе на страницу сервер отдаёт ошибку 404.
Если, например, по правилам должно быть site.loc/user/index, то страница заработает только как site.loc/index.php/user/index.
Хотя 'showScriptName' => false;

Настроил urlManager следующим образом:

Код: Выделить всё

'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
            'rules' => [
                '<controller:\w+/>' => '<controller>/index',
                '<controller:\w+/>/<action:\w+/>' => '<controller>/<action>',
                '<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
            ]
        ],
А .htaccess следующим образом:

Код: Выделить всё

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
Так же пробовал вместо последней строки вставлять одно из них:

Код: Выделить всё

RewriteRule . /frontend/web/index.php
или
RewriteRule . index.php
Не помогает.

Где я ошибся?
Maksat1991
Сообщения: 57
Зарегистрирован: 2016.10.16, 00:15

Re: Убрал index.php из url в UrlManger, но без него страницы открываются 404

Сообщение Maksat1991 »

vitalik1183 писал(а): 2017.08.17, 12:24

Код: Выделить всё

RewriteRule ^(.*)$ /index.php$1 [L]
Если вместо этого подставить

Код: Выделить всё

RewriteRule . index.php
То все-равно не помогает. Приходится в адресной строке /index.php/ подставлять, чтобы заработало.
Ответить