Nel caso di siti dinamici (quei siti in cui il cliente tramite un interfaccia di amministrazione inserisce autonomamente i contenuti per intenderci) le Url delle pagine, solitamente, compaiono simili a questo:
http://www.sito.com/notizie.php?id=69
Una tecnica di url rewriting come può essere il modulo mod_rewrite di apache consente di visualizzare la stessa pagina inserendo l'Url nel seguente modo:
http://www.sito.com/notizie/69.html
infatti mediante una regular expression inserita nel file .htaccess come questa :
RewriteRule ^notizie/([^/]+).html notizie.php?id=$1 [L]
apache leggerà tutte le url che gli vengono passate e se troverà , nell'indirizzo, una stringa che inizia per notizie, prenderà ciò che viene dopo lo slash come una variabile chiamandola $1 passandola automaticamente al vero indirizzo alla variavile "d": notizie.php?id=$1
Questa scrittura facilita l'indicizzazione nei motori di ricerca, ma per renderla più efficace e aiutare oltre all'indicizzazione anche il posizionamento conviene sfruttare l'informazione che identifica quella notizia, o quel prodotto come il titolo o il nome del prodotto.
Per avere massima libertà di gestire le variabili dell'url e per non doversi scontrare troppo con le regular expression (che un pò ostiche lo sono), si può pensare di delegare la gestione delle variabili al php creando un file apposta, e inserendo nel file .htaccess delle regole generiche che trasformano qualunque parametro in una variabile (fino a una certo numero);
Per esempio nel file htaccess si potrebbe inserire :
RewriteEngine On
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/*.html$ variabili.php?var0=$1&var1=$2&var2=$3
RewriteRule ^([^/]+)/([^/]+)/*.html$ variabili.php?var0=$1&var1=$2
RewriteRule ^([^/]+)/$ variabili.php?var0=$1 [L]
e poi creare un file variabili.php che si occupi di fare qualunque cosa in base alle variabili che gli arrivano.
per esempio il seguente Url:
a questo punto possiamo decidere di costruire il file variabili.php in modo che quando var0 è uguale a "notizie" faremo un include della pagina notizie.php alla quale verrà passata la variabile $var1 che servirà per determinare, mediante una query sui titoli delle notizie, la notizia da visualizzare.
In questo modo abbiamo un Url che oltre ad essere leggibile e chiaro, contiene un'informazione che aiuterà nell'indicizzazione.
Per avere massima libertà di gestire le variabili dell'url e per non doversi scontrare troppo con le regular expression (che un pò ostiche lo sono), si può pensare di delegare la gestione delle variabili al php creando un file apposta, e inserendo nel file .htaccess delle regole generiche che trasformano qualunque parametro in una variabile (fino a una certo numero);
Per esempio nel file htaccess si potrebbe inserire :
RewriteEngine On
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/*.html$ variabili.php?var0=$1&var1=$2&var2=$3
RewriteRule ^([^/]+)/([^/]+)/*.html$ variabili.php?var0=$1&var1=$2
RewriteRule ^([^/]+)/$ variabili.php?var0=$1 [L]
e poi creare un file variabili.php che si occupi di fare qualunque cosa in base alle variabili che gli arrivano.
per esempio il seguente Url:
http://www.sito.com/notizie/tragico-incidente.html
restituirebbe le seguenti variabili:
$var0 = notizie
$var1 = tragico-incidente
a questo punto possiamo decidere di costruire il file variabili.php in modo che quando var0 è uguale a "notizie" faremo un include della pagina notizie.php alla quale verrà passata la variabile $var1 che servirà per determinare, mediante una query sui titoli delle notizie, la notizia da visualizzare.
In questo modo abbiamo un Url che oltre ad essere leggibile e chiaro, contiene un'informazione che aiuterà nell'indicizzazione.
Nessun commento:
Posta un commento