За замовчуванням 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
?