Problème de rewrite.

Nouveau WRInaute
Salut à tous !

J'ai un petit problème de redirection.
Dans /repertoire/, j'ai plein de fichier, je veux rediriger quelques fichiers vers d'autres repertoires, donc jusque là, ca va. Mais je veux aussi reiriger ce qui reste sur ma racine. Et c'eest là que je bloque, car quand je met pour rediriger "tout" sur /, ce qui doit etre rediriger sur /repertoire2/ arrive aussi sur la racine et c'est très embettant !

Avez vous une solution ?

Merci.
 
Nouveau WRInaute
RewriteEngine On
RewriteRule ^repertoire1/fichier1.php http://monsite.fr/repertoire2/fichier1.php [R=301]
[...]
RewriteRule ^repertoire1/(.*) http://monsite.fr/ [R=301]
 
WRInaute accro
WRInaute accro
essaie des variations car l'idée est là. une fois que tu as redirigé les fichiers spéciaux tu stoppe la réécriture [L] et si aucun n'est trouvé tu applique la règle générale.
 
Nouveau WRInaute
Ah ca marche, en fait c'est mon cache de firefox qui avait gardé l'ancien truc ><
Dernier truc, je veux echapper des parenthèses, je fais comment ?
 
Nouveau WRInaute
Bah, dans mon regex, quand je fais \( \), au lieu de me rediriger à la normale, ca me redirige vers l'index.
 
WRInaute accro
lol ! poste le bout de code je suis du genre lent et pas super vif (note le cumul des deux est un souci profond) :D bref je comprend pas trop et j'ai pas envie de répondre a côté de la plaque (c'est trop souvent le cas :D )
 
WRInaute accro
essaie le point (.) ça permet de "passer" un caractère quelconque.

En revanche je comprend pas bien le motif "page1\(page1\)" (du moins je voie pas a quoi ça peut correspondre)
 
Nouveau WRInaute
Bah entre parenthèses c'est un autre truc mais je savais pas quoi mettre dans mon exemple :p
Le . je le met ou ? A la place de la parenthèse ?
 
WRInaute accro
Alors si je comprend bien :
Plotre a dit:
Dans /repertoire/, j'ai plein de fichier, je veux rediriger quelques fichiers vers d'autres repertoires (...) ce qui doit être rediriger sur /repertoire2/ arrive (...)
ça devrais donner un truc du genre :

RewriteRule ^/repertoire/page.html http://www.examplecom/autre-repertoire/autre-page.html [R=301,L]

pour les cas des pages précises et ensuite pour traiter la généralité de ce qui reste :

Mais je veux aussi reiriger ce qui reste sur ma racine.

RewriteRule ^/repertoire/(.*)$ http://www.example.com/ [R=301]

(si mes deux neurones après le sky du soir sont encore en état)
 
Nouveau WRInaute
Quand j'utilise (*) a la place d'une parenthèses, j'ai une erreur 500, ce qui me semble normal puisque on ne la réutilise pas dans l'url réécrite !
 
Discussions similaires
Haut