Per impostazione predefinita, Apache proibisce l'uso di un file .htaccess per applicare le regole di riscrittura, quindi
Passaggio 1: Abilitazione di mod_rewrite (se non abilitato)
Innanzitutto, dobbiamo attivare mod_rewrite. È disponibile ma non abilitato con un'installazione pulita di Apache 2.
$ sudo a2enmod rewrite
Questo attiverà il modulo o ti avviserà che il modulo è già abilitato. Per rendere effettive queste modifiche, riavvia Apache.
$ sudo systemctl restart apache2
mod_rewrite è ora completamente abilitato. Nel passaggio successivo imposteremo un file .htaccess che useremo per definire le regole di riscrittura per i reindirizzamenti.
Passaggio 2: impostazione di .htaccess
Aprire il file di configurazione di Apache predefinito utilizzando nano o l'editor di testo preferito.
$ sudo nano /etc/apache2/sites-available/000-default.conf
All'interno di quel file, troverai un blocco a partire dalla prima riga. All'interno di quel blocco, aggiungi il seguente nuovo blocco in modo che il tuo file di configurazione sia simile al seguente. Assicurarsi che tutti i blocchi siano rientrati correttamente.
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
Salva e chiudi il file. Per rendere effettive queste modifiche, riavvia Apache.
$ sudo systemctl restart apache2
Fatto. Il tuo .htacess dovrebbe funzionare.
Questo link può effettivamente aiutare qualcuno https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04
400 Bad Request
errore/var/www/html/404.php
?