Задать вопрос

Как избавиться от index.php в Yii2 через urlManager? Почему сервер выдаёт ошибку?

Всё бы хорошо, и частично я уже настроил URL через urlManager, но стоит мне добавить
'showScriptName' => false, как сервер на внутренних страницах отдаёт ошибку 500.
В чём может быть косяк?
Часть кода frontend/config/main.php
<?php
    'components' => [
        //...
        'urlManager' => [
		    'enablePrettyUrl' => true,
		    'showScriptName' => false,
		    'rules' => [
		    ],
		],
    ],
    'params' => $params,
];


Содержимое .htaccess
Options +FollowSymLinks

RewriteEngine on

# 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


Что самое интересное, главную страницу без index.php показывает, а внутренние готов показывать только так: index.php/site/about, хотя ссылки в Navbar уже ведут на /site/about
  • Вопрос задан
  • 1294 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@Sergi0Limit
Самое лучшее решение, которое я использовал работает отсюда mickgeek.com/yii-2-advanced-template-on-the-same-d..., если быть точным, то отсюда https://github.com/mickgeek/yii2-advanced-one-doma...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
.htaccess
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ /index.php/$1 [L]

... config/main.php
'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            // ...
Ответ написан
Ваш ответ на вопрос

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

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