Faire une redirection htaccess

vek59 Messages postés 145 Statut Membre -  
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à faire plusieurs redirections, via mon .htaccess
Mon nom de domaine : http://www.example.org (qui accueille un Wordpress).
Tout d'abord, je cherche à rediriger toutes les URLs
http://www.example.org/mon-article/undefined ( ou http://www.example.org/mon-article/undefined/ ) vers http://www.example.org/mon-article/
En second, je cherche à rediriger toutes mes URL http://www.example.org/mon-article-1-test vers http://www.example.org/mon-article-1 (avant j'utilisais un plugin, mais si 2 lignes de htaccess peuvent suffire ...).

Je montre ce qui ne fonctionne pas chez moi :
RewriteRule ^undefined/(.+)$ http://example.org/$1 [R=301,L]
RewriteRule ^undefined(.+)$ http://example.org/$1 [R=301,L]

RewriteRule ^-test/(.+)$ http://example.org/$1 [R=301,L]
RewriteRule ^-test(.+)$ http://example.org/$1 [R=301,L]

Ca n'a pas l'air de fonctionner, pourtant c'est le plus logique que j'ai réussi à faire.
Je peux avoir un peu d'aide ? Les expressions régulières, ce n'est pas trop mon fort :-/

2 réponses

  1. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
     
    Bonjour !
    Le petit accent devant (^), c'est pas de la déco enfaîte, c'est pour signaler que l'url doit commencer par ta regex, ce qui n'est pas le cas vu que tu a un nom de dossier avant.
    Enlève celui-ci et tout devrait bien ce passer.
    0
  2. vek59 Messages postés 145 Statut Membre 44
     
    Pas du tout, rien ne fonctionne.
    Je pensais que ^ était pour signaler qu'il y avait quelque chose avant.
    Je viens de tester, et ... non ,
    # RewriteRule -test(.+)$ http://example.org/$1 [R=301,L]
    me redirige, vers http://example.org
    0
    1. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
       
      Le dièse indique un commentaire dans ton htaccess, si tu en a un, ça ne peut pas marcher :)
      0
    2. vek59 Messages postés 145 Statut Membre 44
       
      Ca, je le sais bien ;)
      Mais vu que je redirige toutes mes URLs vers ma home et pas mes articles, j'ai préféré commenter.
      Je ne suis pas un noob quand même ;-) (quoi que ..., bon, mais pas à ce point-là ;) ).
      0
    3. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
       
      ET c'est quoi qui fonctionne pas, la redirection en elle même (La "reconnaissance") ou l'url d'arrivée ?
      Car là du coup, dans tes rewriting tu ne stock pas ce que tu a avant -test en parenthèse
      0
    4. vek59 Messages postés 145 Statut Membre 44
       
      Je pense que, en effet, c'est d'ici que vient le soucis.
      Du coup je suis redirigé vers $1, mais $1 est vide ;-)
      0
    5. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
       
      Essaye donc plutôt ceci :
      RewriteRule ^(.+)-test$
      0