Domyślnie Apache zabrania używania pliku .htaccess do stosowania reguł przepisywania, więc
Krok 1 - Włączanie mod_rewrite (jeśli nie jest włączone)
Najpierw musimy aktywować mod_rewrite. Jest dostępny, ale nie jest włączony przy czystej instalacji Apache 2.
$ sudo a2enmod rewrite
Spowoduje to aktywację modułu lub ostrzeżenie, że moduł jest już włączony. Aby wprowadzić te zmiany, uruchom ponownie Apache.
$ sudo systemctl restart apache2
mod_rewrite jest teraz w pełni włączony. W następnym kroku utworzymy plik .htaccess, którego użyjemy do zdefiniowania reguł przepisywania dla przekierowań.
Krok 2 - Konfiguracja .htaccess
Otwórz domyślny plik konfiguracyjny Apache za pomocą nano lub ulubionego edytora tekstu.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Wewnątrz tego pliku znajdziesz blok rozpoczynający się w pierwszej linii. Wewnątrz tego bloku dodaj następujący nowy blok, aby plik konfiguracyjny wyglądał następująco. Upewnij się, że wszystkie bloki są odpowiednio wcięte.
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
Zapisz i zamknij plik. Aby wprowadzić te zmiany, uruchom ponownie Apache.
$ sudo systemctl restart apache2
Gotowe. Twoja .htacess powinna działać.
Ten link może faktycznie pomóc komuś https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04
400 Bad Request
błąd na/var/www/html/404.php
?