Bonjour,
Le soucis est que dans les expressions régulière que tu lui donnes pour parser l'url, les deux urls sont parsés exactement de la même façon, en effet pour lui, rien ne les differencie.
Alors comme ça trois idées, (des bonnes et des bien pourries innapliquables^^)
La première idée et mauvaise idée, c'est de retirer la chaine index dans l'expression régulière pour matcher la catégorie, déjà c'est pas super simple à écrire et en plus ça reglera pas le problème avec les autres actions ... => poubelle
La deuxième, c'est simplement de dire que lorsqu'on va sur un article précis, on est pas sur http:///truc/annonces mais sur http://truc/annonce au singulier , ça c'est pas pour faire le petit malinois mais c'est sans doute pas le mieux
Alors la troisième idée que j'ai comme ça, c'est de regarder ce qui différencie les deux urls.
La différence notable est sur le slug
En effet dans le premier cas, on a un slug assez long avec des lettres, des chiffres
De le l'autre juste un nombre
L'idée est peut être de d'imposer au slug de commencer par une lettre par exemple:
'slug_annonce' => '[A-Za-z][A-Za-z0-9\-]*'
ou de contenir au moins une lettre:
'slug_annonce' => '[A-Za-z0-9\-]*[A-Za-z]+[A-Za-z0-9\-]*'
Bien cordialement
Antho