Aller au contenu

Sujets conseillés

Posté

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.

Posté

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

Posté

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

Posté

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

Posté

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

Posté

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

Posté

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

Posté

Tu peux essayer ceci:

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

Jean-Luc

Posté

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

Posté
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

Posté

[^\/] = 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!

Veuillez vous connecter pour commenter

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



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