Introduzione
Apache è un Web Server, il più popolare utilizzato nei sistemi operativi Linux. Apache è un server web modulare in cui ogni funzionalità è basata da moduli specifici. Per aggiungere o rimuovere qualsiasi funzionalità specifica al server Apache possiamo semplicemente abilitare o disabilitare il modulo corrispondente.
Il modulo "mod_rewrite" di Apache è in grado di creare indirizzi statici ottimizzati per i motori di ricerca e agli standard web. Utilizza un motore di riscrittura incentrato su regole, basato su un parser di espressioni regolari PCRE, per riscrivere gli URL. Per impostazione predefinita, mod_rewrite associa un URL a un percorso del filesystem. Tuttavia, può anche essere utilizzato per reindirizzare un URL a un altro URL o per richiamare proxy interno.
mod_rewrite fornisce un modo flessibile e potente per manipolare gli URL usando un numero illimitato di regole. Ogni regola può avere un numero illimitato di condizioni delle regole associate, per consentire di riscrivere l'URL in base a variabili del server, variabili di ambiente, intestazioni HTTP o timestamp.
mod_rewrite opera sul percorso URL completo, inclusa la sezione informazioni percorso. Le regole di riscrittura possono essere scritte nel file httpd.conf o in .htaccess.
Abilitare il modulo Rewrite
Il metodo più semplice per abilitare i moduli del Web Server Apache 2 è quello di usare il comando a2enmod. Abilitiamo il modulo di riscrittura di Apache, utilizzare il comando seguente.
sudo a2enmod rewrite
Riavviare Apache per rendere effettive le modifiche:
sudo service apache2 reload
Disabilitare il modulo Rewrite
Allo stesso modo per disabilitare il modulo utilizziamo il comando a2dismod. Ad esempio, se è necessario disabilitare il modulo di riscrittura di Apache, utilizzare il comando seguente.
sudo a2dismod rewrite
Riavviare Apache per rendere effettive le modifiche:
sudo service apache2 reload
Controllare lo stato di Rewrite
Per controllare lo stato del modulo specifico utilizzare il comando a2query. Ad esempio, per verificare lo stato corrente del modulo di riscrittura eseguire il seguente comando:
sudo a2query -m rewrite
Potreste ricevere un messaggio di output simile al seguente:
rewrite (enabled by site administrator)
Elenco dei moduli Apache2
Per elencare tutti i moduli disponibili di Apache2 e il loro specifico stato, utilizzare il comando seguente.
sudo a2query -m
Conclusione
In questo tutorial abbiamo visto come abilitare e disabilitare il modulo Rewrite di Apache 2 su Ubuntu 18.04 LTS, i comandi descritti dovrebbero funzionare per la maggior parte dei moduli di Apache e su tutte le recenti distribuzioni di Ubuntu e derivate.