redirection vers url sans ces satanés ?=

Nouveau WRInaute
Bonjour à tous,

suite a une erreur dans l'écriture d'une fonction de création dynamique de lien (qui a été corrigée) je me retrouve avec des urls indexées sous la forme http://nom_de_domaine/blablablabla.html?= ou lieu de http://nom_de_domaine/blablablabla.html

et je cherche le moyen de faire une redirection 301 de http://nom_de_domaine/blablablabla.html?= vers http://nom_de_domaine/blablablabla.html sans succès.

Avez vous une piste a me donner ?
 
WRInaute accro
Si tu travailles sur un dev spécifique, pourquoi ne pas gérer ça en PHP, en interceptant l'url courante (via $_SERVER['REQUEST_URI'], ou un wrapper lié à ton cms / framework) pour la rediriger vers la versions sans ?= si tu trouves ce morceau de chaîne dans l'url ?
 
Nouveau WRInaute
Merci pour la réactivité.

Effectivement je voulais le faire via le htaccess mais avec php a été beaucoup plus simple :

Code:
$url = $_SERVER['REQUEST_URI'];
$longurl=strlen($url);
 $egalpos=strpos($url,'=');
 $interopos=strpos($url,'?');
 if (($egalpos==($longurl-1)) && ($interopos==($egalpos-1))) {
 	$url_dest = substr($url, 0, -2);
 	header("HTTP/1.0 301 Moved Permanently");                     
                                header("Location: $url_dest");                
                                break;
 	}
je vérifie que le dernier caractère est bien le signe égal et que celui-ci est précédé par un point d'intérogation

je nettoie mon url et je redirige
 
WRInaute discret
Code:
RewriteCond 	%{QUERY_STRING} 	^\=$ 
RewriteRule 	^(.*\.html)$ 		$1 [R=301,L]

Voilà la version htaccess au cas où ...
 
Discussions similaires
Haut