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).
Usa il codice
189ed7ca010140fc2065b06e3802bcd5
per ricevere 5 € dopo l'iscrizione
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]
Â
👇 Contenuti da non perdere 👇
- Cellulari 📱
- intelligenza artificiale 👁
- Internet 💻
- Reti 💻
- Sicurezza & Privacy 👁
- 💬 Il nostro canale Telegram: iscriviti
- 🔵 Domini .cloud: come e dove registrarli
- 🔴 Come aprire un file .dl_
- 🔴 Quale data fa fede nella PEC?