Lo scopo, in questo caso, è di usare le possibilità della riscrittura per migliorare un sito dinamico basato su database ottenendo nomi gradevoli a persone e motori invece che
?id=qualcosa&nome=titolo
Il db, ridotto all'osso è
codice:
categoria
--------------
id_cat
nome_cat
articoli
--------------
id_articolo
id_cat
titolo
testo
Le tue pagine categoria.php e articoli.php equivalgono alle mie documenti.php e scheda_documento.php.
Ora non pensare alla riscrittura e torna dopo ai cicli.
Io suppongo che nel tuo sito già funzionante ci sia un menu di navigazione delle categorie presenti nel db. Non puoi che popolare il menu con un ciclo while sulle categorie database per tirarne fuori quantità, nomi e id e creare e valorizzare i 'pulsanti' con i giusti parametri.
codice:
<a href="categoria.php?id=<?=$riga['id_cat'];?>"><?=$riga['nome_cat'];?></a>
La tua pagina categoria.php infatti, il passo successivo, attende almeno un parametro da usare per la condizione WHERE della query (
codice:
SELECT * FROM articoli WHERE id_cat='15'
).
La pagina verrà popolata da un ciclo con i titoli degli articoli associati alla categoria e valorizzerai ogni link con l'id dell'articolo.
codice:
<a href='articoli.php?id=<?=$riga['id_articolo']}'><? echo $riga['titolo'];?></a>
Se un link viene cliccato, lo script articoli.php attenderà almeno l'id di quello specifico articolo per mostrarne l'intero contenuto.
Con htaccess e php puoi sostituire querystring e strutture dinamiche complesse con gradevoli indirizzi apparentemente statici.
I pulsanti menu,
codice:
<a href ="categoria.php?id_cat=1">Apache</a>
<a href ="categoria.php?id_cat=2">SEO</a>
usando opportunamente campi testuali invece che numerici, consentono ai tuoi link di menu di diventare
codice:
<a href ="categoria.php?nome_cat=apache">Apache</a>
<a href ="categoria.php?nome_cat=seo">SEO</a>
e infine
codice:
<a href ="apache/"></a>
<a href ="seo/"></a>
I link agli articoli
invece di
codice:
<a href="articoli.php?id=15">rewrite</a>
<a href="articoli.php?id=16">htaccess</a>
passano a
codice:
<a href="articoli.php?id=15&nome_cat=apache">rewrite</a>
<a href="articoli.php?id=16&nome_cat=apache">htaccess</a>
per diventare richiamabili anche con
codice:
<a href="apache/15/rewrite.html">rewrite</a>
<a href="apache/16/htaccess.html">htaccess</a>
Devo ammettere che se ancora scrivi
non ti stai avvicinando..