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.