Pagina 1 di 1

[Risolto] [Server] redirect 301 per pagine dinamici

Inviato: giovedì 20 maggio 2010, 16:06
da ilmondo
Salve a tutti.

Ho cambiato la costruzione di url dinamici in sef urls e ho 60 pagine indicizzati bene. non li vorrei perdere. Sto cercandi di rindirizzare via redirect 301.
Ma non c'e la faccio. ho googlato ma le spiegazioni non mi entrano e sicuramente metto quella virgol spagliata nell posto sbagliato. Un esempio.

La url indicizzata e:

http://www.miodominio.com/index.php/ind ... hakra.html

el voglio rindirizzare a:

http://www.miodominionuovo.com/20091108 ... hakra.html

ho fatto la .htaccess nuova e ho inserito

Codice: Seleziona tutto

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^?$
RewriteRule ^/index.php$ http://www.miodominionuovo.com/index.htm? [L,R=301]

redirect 301 /index.php/index.htm/2006101243/I-Chakra/I-Chakra.html http://www.miodominionuovo.com/2009110843/I-Chakra/i-chakra.html
>:(

Sono un po duro a capire c'e qualche anima buona che ci capisce?

Grazie per la vostra risposta

Re: [Risolto] [Server] redirect 301 per pagine dinamici

Inviato: giovedì 20 maggio 2010, 22:31
da ilmondo
Salve di nuovo ho rislto tutto con una soluzione semplice consigliato da un anima buona. Spero che possa aiutare a qualcun altro.

La situazione era che avevo installato un sistema cms in un sottodominio sotto.dominio.com. Le pagine dinamiche scrivevano un ? nella url che non permetteva un reindirizzamento 301 che si scrive nella .htaccess cosi

redirect 301 /index.php/pagina-vecchia.html http://nuovodominio.com/pagina-nuova.html

con il ? cosi

redirect 301 /index.php?/pagina-vecchia.html http://nuovodominio.com/pagina-nuova.html

non funziona

se la url vecchia ha un ? non puo scritto cosi e quindi bisogna usare il rewrite di apache che per uno che non capisce niente in materie come me e abbastanza difficile.

quindi ho fatto cosi:

inserito nell index.php dell sotto.dominio.com ho inserito questo script:

Codice: Seleziona tutto

$wurl = 'http://nuovodominio.com';
$urlok = str_replace ('[color=red]index.php?/[/color]','',$_SERVER[REQUEST_URI]);
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$wurl.$urlok);
la string index.php?/ veniva tolta e reindirizzato all nuovodominio.com


quindi nell nuovodominio.com non mi arrivava piu una url cosi:

http://nuovodominio.com/index.php?/vecchiapagina.html

sino mi arrivava cosi:

http://nuovodominio.comvecchiapagina.html

adesso potevo inserire nella .htaccess dell nuovodominio.com

il redirect 301 cosi:

Codice: Seleziona tutto

redirect 301 /vecchiapagina.html http://nuovodominio.com/nuovapagina.html
e funziona benissimo

grazie a chi me lo ha consigliato e spero che qualcunaltro possa usufriere.

buon divertimento