Ciao, sono un nuovo iscritto che sta afrontando il mod_rewrite.
Innanzitutto ho necessità di chiarire alcune cose.
Ciao e benvenuto.
In tutte le guide che ho trovato si parla sempre di impostazioni che traducano un link del tipo /22/articolo/titolo.html nella sua versione dinamica articolo.php?id=22&title=titolo, ma nel caso che il mod_rewrite non sia attivabile che succede, non funziona più nulla ?
Ovviamente non funzionerebbe nulla poiché verrebbe meno la mediazione di apache.
Inoltre i link 'fittizi' html vengono creati dinamicamente giusto ? Quindi io nella mia pagina php avrò sempre una cosa del genere:
<a href="<?php echo '/'.$row[IDARTICOLO].'/articolo/'.$row[TITOLOARTICOLO].'.html'" >$row[TITOLOARTICOLO][/url]
oppure posso lasciare
<a href="articolo.php?id=22&title=titolo">titolo[/url]
e poi lasciare la trasformazione a .htaccess?
Dovresti usare la prima opzione che ti restituisce
/22/articolo/titolo.html. Però fai attenzione ad una cosa: se lasci la seconda opzione (
articolo.php?id=22&titolo=titolo) non è che la pagina non ti viene servita ma, in questo modo, hai un link non ottimizzato. Htaccess non trasforma ma rescrive un url in un altro.
io nei miei tentativi ho notato questo:
se nelle mie pagine scrivevo già il link /22/articolo/titolo.html poi nella barra degli indirizzi mi compariva articolo.php?id=22&title=titolo che non era quello che volevo, quindi come si fa a mascherare il link ?
diversamente invece se lascio articolo.php?id=22&title=titolo nella barra degli indirizzi compariva /22/articolo/titolo.html ma poi però non vengono passate le variabili ................
Non ho capito, puoi rifare qualche altro esempio?
Per prima cosa crea la regola in htacccess e soltanto dopo trasforma i link dei tuoi articoli dalla forma
http://miosito.com/articolo.php?tab=0 in
http://miosito.com/tab/343. Nel caso di questo link, ad esempio, una regola potrebbe essere
RewriteEngine On
RewriteBase /
tab\/([0-9]{1,}) articolo.php?tab=$1
tab\/([0-9]{1,})\/([0-9]{1,}) articolo.php?tab=$1&key=$2