Articoli Web Marketing

Home + Web Marketing + Articoli + Articolo # 2

URL Rewriting per i siti in PHP col mod_rewrite di Apache su server Linux

Corso professionale Web Marketing
Iscriviti a MRW Corsi ed acquista il corso online professionale sul Web Marketing ed i Motori di Ricerca. Lezioni consultabili online, forum di assistenza, quiz, area download ed attestato di partecipazione!

Il Web Server Apache su server Linux mette a nativamente disposizione degli sviluppatori PHP un sistema di URL Rewriting (scrittura delle URL delle pagine Web) per simulare pagine statiche ad un sito Web.

Immaginiamo una sezione news in cui avremo un unico file che espone le notizie, come ad esempio:

notizia.php?id=130

che legge la notizia 130 dal database MySQL.

Per i motori di ricerca è molto più comodo (ai fini dell'indicizzazione) avere un file statico come il seguente:

notizia_130.html

ma creare a mano tutti i file è un suicidio in termini di perdita di tempo (ed elevato margine di errore) o di dispendio di energie nella creazione di un sistema dinamico che crei fisicamente i file con le funzione predefinite di PHP.

Apache dispone nativamente del modulo mod_rewrite che permette di riscrivere le URL direttamente nel Web Server, simulando l'esistenza di un file statico.

Si crei il file .htaccess non rinominando un file di testo esistente, bensì creandolo ex-novocol blocco note (o altri editor puliti di testo) e salvandolo con l'opzione "tutti i file". Questo file andrà copiato via FTP nella root del sito.

Nota: una volta copiato nella root del server, il file .htaccess scomparirà dall'elenco dei file del sito, essendo un file di sistema di Linux.

Si apra il file .htaccess e si scriva come prima riga la seguente stringa di codice:

RewriteEngine On

che altro non è che un invito fatto ad Apache all'utilizzo del motore di rewriting (RewriteEngine).

Le righe a seguire servono per "riscrivere" le URL delle singole categorie di pagine. Nel caso delle news il codice sarà il seguente:

RewriteRule ^notizia_([^/]+).html notizia.php?id=$1 [L]

In sostanza, la regola di riscrittura (RewriteRule) funziona come segue:

RewriteRule URL_STATICA URL_DINAMICA

o che dir si voglia:

RewriteRule URL_FINTA URL_VERA

Attenzione: l'espressione regolare ([^/]+) è stata testata su un server Linux Fedora con la sua particolare configurazione, ma può variare da server a server. Rivolgersi al proprio Hoster per maggiori dettagli.

Vediamo adesso come riscrivere una URL a due parametri o più parametri. Prendiamo in esame la seguente URL dinamica:

provincia.php?nome=napoli&id=10

Trasformiamola in:

provincia_napoli_10.html

Ecco l'espressione regolare da utilizzare:

RewriteRule ^provincia_([^/]+)_([^/]+).html provincia.php?nome=$1&id=$2 [L]

Vediamo il codice completo del file .htaccess sulla scorta dei due esempi proposti:

RewriteEngine On
RewriteRule ^notizia_([^/]+).html notizia.php?id=$1 [L]
RewriteRule ^provincia_([^/]+)_([^/]+).html provincia.php?nome=$1&id=$2 [L]

Libri sul Web Marketing

Google

Google

Argomenti trattati: allla scoperta di Google e dei suoi operatori di ricerca; come funziona Google; Google Gruppi, Google rlews, Google Immagini e Goo...

Visite: 225 | Acquisti: 125

© 2008 SEO Tag di Luca Ruggiero - Partita IVA 05564851219 - Privacy | Contatti

Partners: Appunti PHP | Xdownload.it