Если не работает ЧПУ на сервере Apache?

Прежде всего необходимо убедиться в том, что у вас:

  • установлен и включен модуль RewriteEngine. Чтобы его включить, в консоли выполняем команды:
    sudo a2enmod rewrite
  • в директори /frontend/web у вас должен присутствовать и быть правильно настроен файл .htaccess
    Обычно он имеет следующее содержимое:
    RewriteEngine on
    # If a directory or a file exists, use the request directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Otherwise forward the request to index.php
    RewriteRule . index.php

    # use index.php as index file
    DirectoryIndex index.php

    # ...other settings...
  • модуль urlManager должен быть раскомментирован и правильно настроен. В частности, у него должны быть прописаны следующие настройки:
    'enablePrettyUrl' => true,
    'showScriptName' => false,
  • Так же, не следует забывать что в .conf файле apache2 (например, /sites-available/000-default.conf) должно быть прописано следующее: 

    <Directory /путь_к_папке_фреймворка/frontend/web>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
    </Directory>

После внесения каких-либо настроек, не забываем перезагрузить сервер: 

service apache2 restart

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.