Quelle est la meilleure redirection ?

WRInaute occasionnel
Bonjour,
Je m'excuse car j'aborde ici un sujet déjà évoqué plusieurs fois, mais je n'y connais rien en redirection et une réponse précise sur mon cas précis m'aiderait grandement; donc merci de votre indulgence. :oops:

J'ai un site bilingue pour l'instant construit (et indéxé) comme suit:
fr: -site.com en: -site.com/english/
Je suis en train de le diviser en deux comme ceci:
fr: -site/com en: -site.co.uk

Quel est le meilleur moyen de rediriger les visiteurs de -site.com/english/ vers -site.co.uk ?

Merci beaucoup
 
WRInaute accro
Tu dois faire une redirection massive =>

Code:
<?php 

//L'url de ton site sans / et sans le http:// 
$url="www.nouvelle-url"; 
$uri = $_SERVER['REQUEST_URI'];  

//Permet la redirection 
header("Status: 301 Moved Permanently"); 
header("Location:http://".$url.$uri); 

?>
 
WRInaute occasionnel
Merci de cette explication.

Comment ça se passe avec google: il désindexe gentiment les anciennes pages et réindexe encore plus gentiment les nouvelles, ou est-ce que cela crée parfois des difficultées (type duplicate) ?
 
WRInaute accro
L'intéret de la redirection 301 est d'éviter les duplicate.

Mais bon, si Google indexe tes nouvelles pages (.co.uk), et qu'il n'a pas mis à jour les anciennes, il se peut qu'il y ait un petit temps de latence, mais normalement, si tu as bien fait ta redirection comme expliqué sur WRI (c'est à dire que .com/english/test redirigera sur .co.uk/test), au bout d'un moment tout sera comme il faut.
 
WRInaute occasionnel
Bon je savais que j'aurais des soucis... :oops:

La solution proposée par KOogar me donne une erreur 500

Donc j'ai fait ça:

RedirectPermanent /rob.otstats -http://www.robotstats.com/

Mais le problème est le suivant:
URL de départ: -site.com/english/index.php/article
URL d'arrivée: -site.co.uk/article

et la règle ci dessus renvoi sur -site.co.uk/index.php/article donc ça ne va pas.

Une astuce ?

merci
 
WRInaute occasionnel
KOogar a dit:
coquette a dit:
La solution proposée par KOogar me donne une erreur 500

Parce que KOogar n'est pas derrière ton ordi sinon sa solution, bien appliqué, marche trés bien.

KOogar
Ok, alors je viens bien une deuxième démo.
Disons que je pars de www.jk2lm.com/english/ pour aller vers www.jk2lm.co.uk
(avec l'histoire de l'index.php qui disparait).

Je mets bien ça dans un .htaccess à la racine du site ?

merci
 
WRInaute accro
Code:
$url="www.jk2lm.co.uk/"; 
$uri = $_SERVER['SCRIPT_NAME'];

header("Status: 301 Moved Permanently"); 
header("Location:http://".$url.$uri);

Dans ton cas on ne veux que le nom du fichier, donc on utilise $_SERVER['SCRIPT_NAME'] et non $_SERVER['REQUEST_URI'] qui prend le chemin complet.

Ici ce bout de code est valable pour toute les pages de ton répertoire /english/

Place le code tout en haut de chaque pages contenuent dans le répertoire /english/

si tu as un header commun sur ce répertoire, c'est parfait sinon passe par 1 htaccess, ca ira + vite.
 
WRInaute occasionnel
Ca y est j'ai trouvé :D

en fait je met le code:
RedirectPermanent /english/index.php -http://www.jk2lm.co.uk

ça me fait une redirection page à page et ça m'elève le index.php.

Encore merci
 
Discussions similaires
Haut