Apache – Indirizzi SEO Friendly – Parte 1

Durante la fase di sistemazione di un sito internet, spesso è necessario utilizzare strategie differenti per rendere i link SEO Friendly.  Ad esempio in un sito scritto in php mi sono imbattuto nel seguente link

http://www.miosito.it/sottocategoria.php?categoria=X&sottocategoria=Y

Un indirizzo cosi’ formato presenta sicuramente problemi di riconoscimento da parte dei motori di ricerca.

Sarebbe ad esempio molto più comodo riuscire a raggiungere la stessa pagina (sottocategoria.php) nel seguente modo:

http://www.miosito.it/sottocategoria/categoriaX/sottocategoriaY/

Se il server web è Apache, una possibile soluzione è quella di utilizzare il mod_rewrite.

A questo link è possibile visualizzare la documentazione ufficiale di Apache.

Questo modulo consente di effettuare una mappatura (utilizzando le espressioni regolari per il match) tra url SEO Friendly e URL effettivo.

In questo modo il motore di ricerca (ma anche l’utente) sono indirizzati verso un indirizzo “virtuale” facilmente identificabile, nascondendo la sua vera natura.

Per poter utilizzare il mod_rewrite è necessario intervenire su un file denominato .htaccess, posizionato solitamente nella root del sito internet.

In realtà, spesso,  il file .htaccess può anche essere gestito a livello di sottocartelle.

Dopo avere verificato che sul server Apache, il modulo mod_rewrite è attivo e funzionante,  la sintassi per poterlo utilizzare è la seguente:

La prima riga consiste nell’attivazione del modulo .

La seconda riga rappresenta una regola: una volta trovato il match sull’espressione EXPR viene convertito in UrlConvertito.

EXPR può essere un’espressione regolare.

FLAG può assumere i seguenti valori:

  • L – Ultima Direttiva: l’engine esegue tutte le trasformazioni anche se ha già trovato la corrispondenza;
  • QSA – Query String Append: riporta la query string dall’url fittizio a quello reale. Utile per portarsi dietro parametri che non avevamo previsto;
  • NC – No Case: valuta l’espressione senza fare differenza tra caratteri maiuscoli e minuscoli;

nel nostro esempio per convertire

http://www.miosito.it/sottocategoria.php?categoria=X&sottocategoria=Y

in

http://www.miosito.it/sottocategoria/categoriaX/sottocategoriaY/

possiamo usare la seguente regola: