По умолчанию Apache запрещает использование файла .htaccess для применения правил перезаписи, поэтому
Шаг 1 - Включение mod_rewrite (если не включено)
Сначала нам нужно активировать mod_rewrite. Он доступен, но не включен с чистой установкой Apache 2.
$ sudo a2enmod rewrite
Это активирует модуль или предупредит вас, что модуль уже включен. Чтобы эти изменения вступили в силу, перезапустите Apache.
$ sudo systemctl restart apache2
mod_rewrite теперь полностью включен. На следующем шаге мы настроим файл .htaccess, который будем использовать для определения правил перезаписи для перенаправлений.
Шаг 2 - Настройка .htaccess
Откройте файл конфигурации Apache по умолчанию, используя nano или ваш любимый текстовый редактор.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Внутри этого файла вы найдете блок, начинающийся с первой строки. Внутри этого блока добавьте следующий новый блок, чтобы ваш файл конфигурации выглядел следующим образом. Убедитесь, что все блоки имеют правильные отступы.
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
Сохраните и закройте файл. Чтобы эти изменения вступили в силу, перезапустите Apache.
$ sudo systemctl restart apache2
Готово. Ваш .htacess должен работать.
Эта ссылка может действительно помочь кому-то https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04
400 Bad Request
ошибку/var/www/html/404.php
?