Cos’è un rewrite engine

Aggiornato il: 16-05-2023 20:54
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.


Vuoi inviare SMS pubblicitari? Prova SMSHosting (clicca qui) . PROMO sconto sul primo acquisto: usa il codice PRT96919

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).


Vuoi inviare SMS pubblicitari? Prova SMSHosting (clicca qui) . PROMO sconto sul primo acquisto: usa il codice PRT96919

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]
 


Questo blog pubblica contenuti ed offre servizi free da 11 anni. – Leggi un altro articolo a caso – Per informazioni contattaci
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Cos’è un rewrite engine
cyberpunk 12

Ingegnere per passione, consulente per necessità, docente di informatica; ho creato Trovalost.it e ho scritto quasi tutti i suoi contenuti. Ogni guida viene revisionata e aggiornata periodicamente. Per contatti clicca qui


Vuoi inviare SMS pubblicitari? Prova SMSHosting (clicca qui) . PROMO sconto sul primo acquisto: usa il codice PRT96919

ec3cb20c2dfc1c3e81584d04ee44408be273ebd71fb1194693f2 640 write
Torna su