Faire une redirection htaccess

Fermé
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 - 24 juil. 2014 à 12:09
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 - 26 juil. 2014 à 09:12
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

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
24 juil. 2014 à 12:58
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
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 43
24 juil. 2014 à 13:21
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
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
24 juil. 2014 à 19:06
Le dièse indique un commentaire dans ton htaccess, si tu en a un, ça ne peut pas marcher :)
0
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 43
25 juil. 2014 à 19:52
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
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
25 juil. 2014 à 21:51
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
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 43
25 juil. 2014 à 23:12
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
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
26 juil. 2014 à 09:12
Essaye donc plutôt ceci :
RewriteRule ^(.+)-test$
0