loader

Our blog.

April 18, 2014

Url rewrite base

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:

newsite.demo.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 newsite.demo.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: newsite.demo.diginess.com/news/index.php?id=1234
dopo: newsite.demo.diginess.com/news/progetto-1234.html