Je m'arrache les cheveux...

Nouveau WRInaute
Bonjour,

alors voila j'ai une colle pour l'une de mes url rewriting.

google a indexé de nombreuses urls du type
www.monsite.com/423895-blabla/www.nomdedomaine.com
ou
www.monsite.com/423895-blabla/nomdedomaine.com

because un <a href...> était mal formaté dans mon site.

Bref, depuis il a gardé ces url en mémoire et essaye de les indexer régulièrement. Je pourrais faire une demande via Google Webmaster pour les désindexer, mais il y en a des milliers, donc à la mano...

Bref j'essaye donc de rediriger via Htaccess l'url
www.monsite.com/423895-blabla/www.nomdedomaine.com
vers
www.monsite.com/423895-blabla

ou blabla contient : des lettres, des chiffres et des -

J'ai tenté plusieurs écritures en vain. Ma dernière serait celle là, mais cela ne marche toujours pas.
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([0-9]*)-(-[a-z0-9]*)/([a-z0-9]*)$ /$1 [NC,L] # Get archive by year

. le début doit commencer par des chiffres
. ensuite un -
. ensuite un blabla minuscule avec tirets et/ou chiffre
. et enfin du texte après un /

Par avance merci pour vos lumières éclairées !

Tout de bon

Gilles
 
Nouveau WRInaute
Hello,

A vue de nez, un truc comme ça pourrait aller:

Code:
RewriteEngine On
RewriteRule ^([0-9]*-[a-z0-9\-]*)/[a-z0-9\-\.]*$ /$1 [NC,L]
 
WRInaute accro
Honnêtement, suis nettement plus faible en URL Rewriting que Cduray mais quelques explications quand même:
j'ai régulièrement ce type de pages reprises dans un système de vérification utilisateurs et souvent aussi ... Google les analyse (la barre d'outils Google). Ce sont souvent des tentatives de hack, voir des aspirateurs / robots mal programmés.

Je n'utilisent jamais d'URL Rewriting sur mes sites: ce n'est pas forcément des erreurs à ce niveau tes pages indexées mais aussi des liens qui essayent d'analyser les pages d'une manière différentes.

Pour quelques pages, j'ai simplement implanté en début de code:

<?php
$adresse_reel="/cidr.php";
// echo $adresse."<br>";
$page=$_SERVER['REQUEST_URI'];
if ($page<>$adresse_reel)
{
// on interdit l'accès
header("HTTP/1.1 403 Forbidden");
exit();
}
?>
et bizarement, ces trucs disparaissent sur un paquet d'autres pages.
 
Nouveau WRInaute
Merci Cduray, mais non...

J'ai tenté de suivre ton idée et de faire
RewriteRule ([0-9]+)-([^/]+)/([^/+]) /$1 [R=301,L]

mais non plus...

je cherche, je cherche...
 
Nouveau WRInaute
Merci à tous d'avoir fait avancé le schmilblik.
j'ai finalement trouvé LA solution

OK
Code:
RewriteRule ^([0-9]*)-([^/]*)/([^*]) /$1-$2	[R=301,L]
qui est trés proche du code juste de mon post précédent
KO
Code:
RewriteRule ^([0-9]*)-([^/]*)/([^/*]) /$1-$2	[R=301,L]
à la nuance prés du / dans la dernière régle.
En effet ce / dans l'ultime reg oblige a ce que l'url globale se termine par un /, ce qui n'est pas toujours le cas....

Merci à vous.
Je vais maintenant tester une redirection pour une image, donc je reviens vers vous si j'y arrive pas, et si j'y arrive je donnerai ma soluce.

Tout de bon

Gilles
 
Haut