Il rewrite url è la tecnica di riscrittura degli url e viene utilizzato per il posizionamento organico nei motori di ricerca ovvero per arrivare primi nei risultati di ricerca. Facciamo un semplice esempi di rewrite url.
Questo è un indirizzo dinamico:
www.diginess.com/progetti.php?prog=34&client=7
Come vedete oltre alla parola DiGiness e progetti tutte le altre parole non hanno senso lo stesso vale per i motori di ricerca. Il motore di ricerca indicizzerà solamente la parola DiGiness e la parola progetti. Qual'e' il problema? Il problema sta nel fatto che il motore di ricerca indicizzerà questi due termini per tutti i progetti DiGiness visto che gli url sono tutti uguali ad eccezione dei numeri assegnati alle variabili prog e client.
Noi invece cosa vogliamo ottenere, vogliamo che per ogni progetto appaia nel url il nome del progetto e del cliente in questo modo www.diginess.com/progetti/posizionamento/panar . Un url come questo permetterà al motore di ricerca di indicizzare non solo le keywords diginess e progetti ma anche posizionamento e panar.
Bene vediamo ora come ottenere questo risultato. La riscrittura degli url avviene attraverso il mod-rewrite di Apache che consente di riscrivere le Url grazie all'utilizzo di un file.htaccess. Grazie a questo file si suggerisce al web server una regola che gli consente di interpretare le Url.
Vediamo un esempio veloce:
Esempio:
http://www.dominio.com/pagina.php?id=8 (dinamico) in http://www.dominio.com/pagina-8.html (statico)
File.htaccess
RewriteEngine On
Rewrite Rule ^index.html$ indexRestituito.php
Analizziamo le righe di sopra riportate. La prima, che va sempre inserita, attiva l'engine. La seconda invece specifica una regola. Lo scopo di questa regola è che quando vine richiesta la pagina index.html il webserver in automatico restituisca indexRestituito.php. Bene a questo punto nel nostro spazio ftp la pagina index.html potrebbe anche non esistere poiché in automatico viene restituita indexRestituito.php.
Passiamo ora ad analizzare un'altra rewrite rule:
RewriteRule ^progetto-([0-9]+).html$ index.php?id=$1
^ questo simbolo identifica l'apertura della stringa $ il dollaro la chiusura della stringa progetto-([0-9]+).html questa istruzione dice quando viene chiamato progetto – una qualsiasi serie di numeri .html restituisci index.php?id=$1 $1 è la variabile che viene sostituita con il valore trovato nell'espressione tra parentesi ([0-9]+)
il risultato finale è il seguente:
prima: www.diginess.com/news/index.php?id=1234
dopo: www.diginess.com/news/progetto-1234.html





