Aller au contenu

Rediriger un répertoire avec .htaccess


Sujets conseillés

Bonjour à tous,

Je n'arrive pas a rediriger un ancien répertoire de mon site vers un nouveau

Le répertoire est du style

http://www.mondomaine.fr/repertoire1/ancie...oire/page1.html

Et je voudrais

http://www.mondomaine.fr/repertoire1/nouve...oire/page1.html

Voila ce que j'ai mis dans mon .htaccess :

RedirectPermanent /repertoire1/ancien-repertoire/ http://www.mondomaine.fr/repertoire1/nouveau-repertoire/

Mais ça ne marche pas mais nouvelle URL ressortent comme ça :

http://www.mondomaine.fr/repertoire1/nouve...page1.html?id=1

Pourquoi est-ce que je me retrouve avec l'ID à la fin des urls?

Que dois-je mettre dans mon .htaccess

D'avance merci de vos réponses et contribution

Lien vers le commentaire
Partager sur d’autres sites

Malheureusement ce n'est pas un problème de slash j'ai vérifié

Par contre je penseme rapprocher de la solution

Pour ma réecriture d'url j'ai une ligne de mon .htaccess comme suit

RewriteRule ^repertoire1/(.*)/([0-9]+)-(.*)\.htm$  mapage.php?id=$2  [L]

En fait les 2 premiers répertoires sont virtuels

Quand j'enlève cette ligne alors la redirection 301 fonctionne mais évidemment je n'ai plus d'url rewritting

Une idée sur ce qui cloche???

Modifié par toons43
Lien vers le commentaire
Partager sur d’autres sites

Essaie en remplaçant le RedirectPermanent par une RewriteRule que tu places avant les RewriteRule existantes. La nouvelle RewriteRule sera comme ceci:

RewriteRule ^repertoire1/ancien-repertoire/(.*)$  http://www.mondomaine.fr/repertoire1/nouveau-repertoire/$1  [L,R=301]

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Désolé pour la réponse tardive.

J'ai eu la même idée et je l'ai testé, ça marche nickel. Je ne sais pas pourquoi le RedirectPermanent ne fonctionne pas correctement. En tout cas j'arrive au même résultat avec une RewriteRule donc tout baigne.

Merci beaucoup de t'être penché sur mon problème.

Lien vers le commentaire
Partager sur d’autres sites

Je pense que la raison est que, même si le RedirectPermanent se trouve devant la RewriteRule, il est exécuté après. Cela serait lié à la manière dont Apache gère tout cela et il n'existerait pas de moyen de changer cet ordre.

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...