Se si vuole riscrivere l'indirizzo di pagine già indicizzate, è opportuno approntare uno script di questo tipo (in pseudo-php tanto per capire cosa fa)Allora inizio con il considerare siti già indicizzati
In questo caso è totalmente controproducente eseguire il rewrite dell'url in quanto se ad esempio avessimo la pagina :
1) www.sitoweb.it/notizia.php?id=116
sarebbe inutile trasformarla in una di questo tipo :
2) www.sitoweb.it/notizia/116.html
In quanto la pagina reale (cioè quella che esiste sul server) sarebbe la numero 1 (quella che è gia stata indicizzata) e la quale continuerebbe ad esistere anche se riscriviamo le nostre pagine . Il risultato di questa operazione sarebbe soltanto raddoppiare il numero di pagine presenti nella cache del motore ma duplicheremmo soltatno tutte quelle gia presenti
Per i non-phpofili:Codice PHP:$url_della_pagina = $_SERVER['REQUEST_URI'];
$espressione_regolare = "/\?/";
//Verifichiamo che nell'url ci sia un '?', se lo
//troviamo assumiamo di trovarci di fronte l'url dinamico
if(preg_match($espressione_regolare, $url_della_pagina)) {
//Se questa pagina è richiamata tramite url dinamico, allora
$nuova_pagina_statica = //...qui le stesse regole che
// nell'htaccess trasformano la pagina da dinamica a statica
header("Location:".$nuova_pagina_statica);
//Redirect lato server alla pagina statica
//ovvero questa stessa pagina dopo il seguente 'else' ;-)
} else {
//Qui ci va il normale contenuto della pagina
}
Questo script controlla l'url RICHIESTO per vedere se è dinamico oppure statico. Nel primo caso, fa un redirect lato server (codice 302 così com'è, ma si può cambiare) alla medesima pagina con indirizzo statico.
Per sapere a quale pagina reindirizzare basta analizzare l'indirizzo e usare le stesse espressioni che riscrivono l'url.

Rispondi quotando