Aller au contenu

besoin d'aide redirection


Sujets conseillés

Bonjour,

Je débute avec le fichier .htaccess et voudrais un coup de main svp...

J'ai restructuré mon site web en créant un sous-répertoire /rep1;

je dois rediriger tous mes fichiers du repertoire racine vers le mêmes fichiers dans le répertoire /rep1 sauf si la requete est:

1. www.monsite.com ou

2. www.monsite.com/index.htm

qui doit être alors dirigée vers www.monsite.com/index.htm

D'avance merci.

Lien vers le commentaire
Partager sur d’autres sites

Salut Touta et bienvenue sur le Hub.

Pour t'aider, tu peux consulter les publication suivantes du Hub :

- http://www.webmaster-hub.com/publication/La-reecriture-d-URL-recursive.html

- http://www.webmaster-hub.com/publication/Le-fichier-htaccess.html

- http://www.webmaster-hub.com/publication/Mod-rewrite-ou-la-reecriture-des.html

si tu ne trouves pas ton bonheur dans ces publications n'hésite pas à nous le dire, on te donnera un coup de mains.

++

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Merci Patrick

J'ai essayé ceci dans mon fichier .htaccess à la racine du site:

RewriteCond %{REQUEST_URI}  !^index\.htm$ 
RewriteRule ^(.*).htm$ http://www.monsite.com/rep1/$1.htm [L,R]

mais j'obtiens toujours un message d'erreur....

Lien vers le commentaire
Partager sur d’autres sites

Merci de donner l'intégralité de ton .htaccess stp.

Est ce qu'avec seulement la ligne (dans ton .htaccess)

RewriteEngine on

tu as un message d'erreur ?

++

Patrick

non, pas de problème

Touta

Lien vers le commentaire
Partager sur d’autres sites

Merci de donner l'intégralité de ton .htaccess stp.

Il vaudrait peut-être mieux donner ce que Patrick te demande directement ;) ... Ca devrait aider les pros dans le domaine. Parfois, une simple lettre, ou un signe manquant et tout devient différent :) .

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Quand tu dis "j'obtiens toujours un message d'erreur", ce serait utile de préciser l'erreur exacte et l'URL exacte qui a provoqué l'erreur.

De toute façon:

RewriteRule ^(.*).htm$ http://www.monsite.com/rep1/$1.htm [L,R]

fait une redirection 302 de http://www.monsite.com/machin.htm vers http://www.monsite.com/rep1/machin.htm,

suivie d'une redirection 302 de http://www.monsite.com/rep1/machin.htm vers http://www.monsite.com/rep1/rep1/machin.htm,

suivie d'une redirection 302 de http://www.monsite.com/rep1/rep1/machin.htm vers http://www.monsite.com/rep1/rep1/rep1/machin.htm,

...

jusqu'à ce qu'une erreur apparaisse parce que le nombre maximum de redirections a été dépassé.

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Tu peux essayer ceci:

RewriteCond %{REQUEST_URI}  !^index\.htm$ 
RewriteRule ^([^\/]*)\.htm$ http://www.monsite.com/rep1/$1.htm [L,R=301]

Jean-Luc

Oui, en fait tu as raison, cela part en boucle avec message d'erreur.

Je vais essayer ce que tu proposes...tu pourrais m'expliquer l'expression ([^\/]*) svp?

Merci Touta

Lien vers le commentaire
Partager sur d’autres sites

tu pourrais m'expliquer l'expression ([^\/]*) svp?
[^\/] = n'importe quel caractère sauf un /

[^\/]* = une chaîne composée de n'importe quels caractères, mais sans /

Cela devrait exclure les rep1/machin.htm et donc empêcher que ça boucle.

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

[^\/] = n'importe quel caractère sauf un /

[^\/]* = une chaîne composée de n'importe quels caractères, mais sans /

Cela devrait exclure les rep1/machin.htm et donc empêcher que ça boucle.

Jean-Luc

Ok, merci beaucoup, cela fonctionne très bien maintenant!

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...