Cos’è un rewrite engine

Cos’è un rewrite engine

Abbiamo avuto modo di presentare la funzione degli URL, la differenza rispetto ad un URI e le rispettive utilità che queste componenti del web presentano. In questo nuovo articolo andremo ad analizzare i rewrite engine, cioè i “motori di riscrittura” degli URL stessi.

Cos’è un rewrite engine

Il rewrite engine è un componente software che può operare lato server (ad esempio in ambiente Apache 2.4, molto diffuso sugli hosting condivisi) e che possiede il compito di effettuare la riscrittura degli URL, ovvero degli indirizzi che compongono il web. Tale riscrittura comporta un “passaggio” ovvero una traduzione dell’URL da una forma originale ad una modificata, con la specifica che le due forme sono equivalenti tra loro.

Rewrite engine nella pratica

In pratica, quindi, un rewrite engine effettua un mapping o una “mappatura” da un vecchio URL (che potrebbe ad esempio essere difficile da ricordare, come http://trovalost.it/?p=39809) e tradurlo in uno equivalente dalla forma più facile da ricordare o con caratteristiche sintattiche ben precise (ad esempio http://trovalost.it/2017/01/cose-rewrite-engine/). Entrambi gli URL, cosa importante, rappresentano lo stesso articolo (quello che avete sotto agli occhi), e che potete condividere, copia incollare e passare ad un amico in chat in forma del tutto equivalente, sia nel primo caso che nel secondo.

Nello specifico abbiamo fatto una riscrittura dell’URL in modo SEO friendly, che è anche una delle forme più utilizzate.

Come impostare un rewrite engine

Di solito sono necessari due passaggi: bisogna prima di tutto abilitare le direttive del file apposito sul server, o nello spazio virtuale, su cui state facendo funzionare il sito oppure il servizio web. Questo si può fare via HTACCESS con mod_rewrite (ed in questo caso non serve riavviare il server) oppure, nel caso dei vari VPS, agendo sul file htdocs di Apache (ed in questo caso di solito è necessario riavviare il server).

Esempi pratici di rewrite engine

Alcuni esempi concreti di uso del modulo mod_rewrite, che è il rewrite engine di Apache, sono riportati di seguito.

Possiamo ad esempio definire un alias .htm per un file esistente test.php (un eventuale test.html sarà ignorato).

RewriteEngine on 
RewriteRule ^/?test.html$ test.php [L]

Possiamo poi definire un alias più complesso mediante espressioni regolari, in modo che l’URL poco “amichevole” http://www.esempio.com/display.php?a=abc&b=123&c=Cosenza sia raggiungibile anche via http://www.esempio.com/abc/123/Cosenza. Attenzione che questo NON definire il redirect 301, che è una cosa differente, perchè in questo caso stiamo solo provando a definire un alias, cioè un URL alternativo equivalente, dell’URL originario, con il vantaggio di averlo più breve, intuitivo e facile da gestire.

RewriteEngine on 
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)/([a-zA-Z_]+)$ test.php?a=$1&b=$2&c=$3 [L] [L]
 

Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Ti potrebbero interessare (Guide per webmaster):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.