- Home
- Categorie
- La Community Connect.gt
- News Ufficiali da Connect.gt
- Redirect 301 da pagina non più esistente (phpbb3) a nuova pagina (phpbb3)
-
Redirect 301 da pagina non più esistente (phpbb3) a nuova pagina (phpbb3)
Ciao a tutti,
ho questo problema che vorrei risolvere, sto rimettendo in sesto un vecchio forum di un amico fatto con phpbb3 il quale aveva alcune pagine indicizzate che vorrei recuperare, ma essendo una nuova installazione gli URL delle vecchie pagine non combaciano con le nuove e oltretutto ho installato la versione premod (quella che ha la mod per la riscrittura degli URL) che non era presente prima.Premessa, la riscrittura degli URL funziona correttamente quindi il mod_rewrite è attivo.
Nel file .htaccess ho provato questo codice ma non fa il redirect:
Redirect 301 /pagina.php?f=39 http://www.dominio.tld/forum1/nome-pagina-f2/ ```Come posso risolvere il problema. Grazie mille per la risposta :) Ciao Enea
-
Ho fatto alcuni tentativi per saltarci fuori e ho visto che nella root principale del sito la funzione redirect 301 funziona bene con gli url senza il "?" e l'id, quindi come questa:
Redirect 301 /pagina-prova.php http://www.dominio.tld/pagina.php
Quindi deduco che ci sia da inserire una espressione regolare se volessi reindirizzare anche gli url dinamici.
Se invece aggiungo la stessa funzione nel file htaccess della cartelle contenuta nel dominio per la pagina prova.php non funziona il redirect 301 e qui non ho capito il perchè.
Ora faccio altre prove.
-
Aggiornamento:
Sono riuscito a fare funzionare il redirect con questo codice:RewriteCond %{QUERY_STRING} ^f=38$ RewriteRule ^forum/viewforum\.php$ http://www.dominio.tld/forum/viewforum.php?f=3 [R=301,L]
In pratica essendo dinamica la url che devo reindirizzare (quindi è presente il "?") devo usare la sintassi {QUERY_STRING} in RewriteCond e mettere in mezzo a ^$ il valore dopo il "?" della mia url
In RewriteRule invece in mezzo a ^$ va inserito l'url da reindirizzare privo dei caratteri che si trovano dopo il "?" compreso, nel mio caso dopo php, altra cosa che ho imparato a mie spese è che questo url deve cominciare senza "/" e prima del punto va aggiunto l'escape ovvero ""Bene, ora però ho un altro problema, se inserisco anche il codice per l'htaccess generato da phpbb ovviamente non va più nulla e ricevo un bel errore 500.
Sono a metà strada, risolto anche questo dovrebbe funzionare tutto.