Salve a tutti, questo è il mio primo post, e prima di scrivere desidero ringraziare tutti coloro che con le loro precedenti discussioni mi hanno permesso di imparare un sacco di cose.
Ora vengo al mio problema. Ho un sito con qualche migliaio di pagine dinamiche e ho riscritto tutte le url con il metodo del rewrite_url mediante il file htaccess. Ora sto cercando di reindirizzare le pagine dinamiche all'url creata con la regola, onde evitare le pagine duplicate (ho riscritto gli url, ma molti di questi erano già stati indicizzati da Google). Dopo problemi iniziali dovuti alla mia ignoranza sull'ostico argomento, e dopo numerose documentazioni trovate online credo di aver capito come funziona il tutto, solo che mi trovo
davanti ad un ostacolo presumo insormontabile, a causa della mia
scelta originaria degli url statici. Esemplifico, con url di fantasia:
La mia url dinamica è del tipo: esempio.it/dettaglio.php?id_fum=4&id_p=6
la mia regola di rewrite trasforma l'url in esempio.it/dettaglio/topolino-4/paperino-6.html
Ho riscritto l'url in questo modo per visualizzare ciò che la pagina
mostrerà (in questo esempio il fumetto Topolino e il personaggio
Paperino)
Ora, utilizzando la rewrite_cond come spiegato nel sempre ottimo sito
html.it dalla guida di Fabio Sutto applico questa regola
RewriteCond %{QUERY_STRING} ^$
#Effettuo il rewriting ed aggiungo una variabile "semaforo" (rew=1)
alla query string
RewriteRule ^([^/]+)/([^/]+).html dettaglio.php?id_fum=$1&id_p=
$2&rew=1
e appendo la variabile rew=1 in coda alla query string dell'url reale
in caso di accesso tramite url statico, e la pagina caricata e
nascosta dietro all'url trasformato sarà esempio.it/dettaglio.php?id_fum=4&id_p=6&rew=1
Se invece clicco sull'url dinamico reale esempio.it/dettaglio.php?id_fum=4&id_p=6
applico una rewrite_cond che verifica la mancanza della variabile
"semaforo"
RewriteCond %{QUERY_STRING} ^(.)=(.)&(.)=(.)$
RewriteCond %{QUERY_STRING} !^.rew=1.$
il redirect 301 dall'url dotato di query string a quello
pseudo statico
RewriteRule ^.*$ ????
Solo che qui mi fermo perchè non riesco ad applicare una regola
generale per la pagina esempio.it/dettaglio.php in quanto non
riesco a recuperare le variabili "Topolino" e "Paperino" che dovrei
applicare all'url fittizio dal mio url dinamico.
L'unica soluzione sarebbe quella di applicare tante rewrite_cond
quanti gli url da trasformare, solo che sono più di 4000 e non mi
sembra il caso.
Esiste un modo alternativo??
Al limite mi conviene tramite il file robots.txt mettere in Disallow tutte le pagine dinamiche onde evitarne l'indicizzazione e il relativo contenuto duplicato?
Grazie in anticipo x le risposte
Leo