Le diverse tecniche di Url Rewrite
Se intendiamo posizionare in testa ai motori di ricerca le pagine del nostro sito, dobbiamo consentire agli spiders di leggere e “digerire” i nostri Url. La tecnica dell' Url Rewriting consente al web server di leggere in maniera dinamica indirizzi di forma statica. Questo significa che pur leggendo Url statici, il web server non genererà fisicamente file html all' interno del sito: le informazioni richieste verranno comunque restituite in forma dinamica.
I vantaggi dell' Url Rewriting:
- Rank superiore sui motori di ricerca
- Maggiore ottimizzazione dei contenuti in relazione alle keywords
inserite nell' Url
- Url friendly anche per l' utente
- Maggiori opportunità di incremento della link popularity
I sistemi più utilizzati per effettuare il rewrite degli url sono Apache (pagine in PHP) e IIS (pagine sviluppate in ASP).
Il mod-rewrite è un modulo del web server Apache che consente di trasformare Url dinamici del tipo http://www.dominio.com/pagina.php?id=13 in Url apparentemente statici del tipo http://www.dominio.com/pagina.html
Il mod-rewrite di Apache consente di riscrivere le Url in modo relativamente veloce. Creando all' interno di mod-rewrite un file.htaccess, si suggerisce al web server una regola che gli consente di interpretare le Url.
Esempio:
http://www.dominio.com/pagina.php?id=13 (dinamico) in http://www.dominio.com/pagina-13.html (statico)
File.htaccess
Rewrite Engine On
Rewrite Rule ^pagina-([^/]+).htm/pagina.php?id=$1
Il mod-rewrite di Apache crea una regola generale che il web server applicherà ogni volta che gli si presenterà un Url con determinate caratteristiche.
Il sistema di riscrittura Url di ISAPI somiglia molto al mod-rewrite di Apache, ma risulta ideato in modo specifico per Microsoft's Internet Information Server (IIS).
Esistono due versioni di ISAPI_Rewrite:
ISAPI_Rewrite Full: è la versione completa di ISAPI_Rewrite e può essere utilizzata per un numero illimitato di siti.
ISAPI_Rewrite Lite: è la versione gratuita di ISAPI_Rewrite. Può essere utilizzata per un solo sito.
Uno dei maggiori vantaggi dell' ISAPI_Rewrite è la velocità con la quale effettua le operazioni di riscrittura degli Url. Gli Url, infatti, vengono letti ed interpretati in un unico passaggio.
Un altro non trascurabile vantaggio di ISAPI_Rewrite è la possibilità di sviluppare il sistema ad hoc ovvero tenendo conto delle esigenze specifiche del sito.
Esempio:
Immaginate di aver registrato due domini www.site1.com and www.site2.com. con il sistema ISAPI_Rewrite è possible far girare entrambi I siti sul medesimo sito fisico. Questa è la regola da aggiungere al vostro httpd.ini file:
[ISAPI_Rewrite]
#l'Url di ingresso deve contenere la slash finale RewriteCond Host: (.*) RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,R]
#Esempio site1 RewriteCond Host: (?:www\.)?site1\.com RewriteRule (.*) /site1$1 [I,L]
#Esempio site2 RewriteCond Host: (?:www\.)?site2\.com RewriteRule (.*) /site2$1 [I,L]
Ora inserite il contenuto dei vostri siti nelle apposite cartelle /site1 and /site2 oppure servitevi di uno script generico in modo da poter applicare il medesimo procedimento ogni qual volta si presenta un problema analogo.
Script generico:
[ISAPI_Rewrite]
#Fix missing slash char on folders
RewriteCond Host: (.*)
RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,R]
RewriteCond Host: (www\.)?(.+)
RewriteRule (.*) /$2$