Espace et accents en htaccess

Nouveau WRInaute
Bonjour,

J'ai bien regardé d'autres posts de ce forum mais ils ne résolvent pas mon problème :

J'ai référencé il y a quelques années des pages du style :
http://wwww.monsite.com/programme.php4?mot=TITI TOTO
avec un joli espace entre TITI et TOTO

Maintenant, la page réelle sur le site est :
http://wwww.monsite.com/programme.php4?mot=titi-toto

Je souhaiterai faire un 301 de la première vers la seconde. Or, ça ne marche pas. J'ai essayé :
Redirect 301 /programme.php4?mot=TITI TOTO http://wwww.monsite.com/programme.php4?mot=titi-toto

Redirect 301 /programme.php4?mot=TITI%20TOTO http://wwww.monsite.com/programme.php4?mot=titi-toto

Redirect 301 "/programme.php4?mot=TITI TOTO" http://wwww.monsite.com/programme.php4?mot=titi-toto

Redirect 301 "/programme.php4?mot=TITI%20TOTO" http://wwww.monsite.com/programme.php4?mot=titi-toto

Et rien ne marche... :cry:

J'ai le même problème avec des pages comme :
http://wwww.monsite.com/programme.php4?mot=téti
qui doivent pointer sur
http://wwww.monsite.com/programme.php4?mot=teti

Une idée :?:

Merci d'avance !
 
WRInaute passionné
Je n'ai jamais réussi à faire de redirection avec des paramètres.
La seul chose que j'ai réussi est de transmettre les paramètres avec l'option [QSA].
Le mieux est de faire la redirection en php avec header("Location : .
 
Nouveau WRInaute
Redirection OK mais espaces et accent non

Merci mais le problème est surtout lié au fait que les pages sont référencées sur Google.. J'ai donc des pages identiques avec deux adresses différentes ! Google n'aime pas trop ça !

En ce qui concerne les paramètres, cela fonctionne bien sauf pour les accents et les espaces.

Merci tout de même de votre réponse.

Franchement, je n'ai pas d'idée ! si quelqu'un a déjà eu ce pb... :wink:
 
WRInaute passionné
cp91 a dit:
Je souhaiterai faire un 301 de la première vers la seconde. Or, ça ne marche pas.

L'espace fait partie des caractères spéciaux de htaccess (comme les quotes ou les crochets ou les parenthèses), vu que c'est un séparateur. Il est de plus transformé en %20 dans l'url, mais ça, c'est un autre problème :)
Pour que ta redirection fonctionne, met simplement un "" devant l'espace :

Code:
Redirect 301 /programme.php4?mot=TITI\ TOTO  http://wwww.monsite.com/programme.php4?mot=titi-toto
 
WRInaute passionné
Dans ce cas, fait le directement dans programme.php4
Quelque chose du style :
Code:
$ch=@$HTTP_GET_VARS["mot"];
if ($ch=="TITI TOTO") {
	header("Status: 301 Moved Permanently", false, 301); 
	header("Location: http://www.monsite.com/programme.php4?mot=titi-toto"); 
	exit(); 
}

Au moins ça marchera avec les espaces, les accents, etc...

Nota : et après test, ça fonctionne chez moi. Donc ça doit fonctionner chez toi :-)
 
Nouveau WRInaute
MERCI !

Merci !!!!

Effectivement, je n'avais pas pensé à faire un 301 à partir du php.

Maintenant tout fonctionne !

C'est qui qui va être content à part moi ? Sieur Google... enfin j'espère !

Merci encore :D
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut