Page 1 sur 1

pb syntaxe pour redirection par htaccess

Posté : 22 déc. 2009, 19:27
par Anémone
Bonjour,

Voici une nouvelle question que je viens soumettre à la sagacité des opiniâtres animateurs de ce forum, que je remercie une fois encore pour la peine qu'ils prennent à lire et répondre aux messages des néophytes comme moi qui viennent exposer leur problème.

Pour aujourd'hui:
J'ai trouvé un bout de code, qui, inséré dans le .htaccess, permet de rediriger une page vers une autre.
Options +FollowSymlinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^monsite.com(.*)$
RewriteRule ^(.*) http://www.monsite.com/$1 [QSA,L,R=301]
Ce code permet bien de rediriger l'index de http://monsite.com vers http://www.monsite.com, ainsi que les sous-répertoires de premier niveau vers l'équivalent avec www. En revanche, je ne parviens pas à rediriger les répertoires de niveau inférieur. J'ai testé plusieurs ébauches d'expression régulière pour remplacer (.*), car il me semble que la solution viendrait de là, mais sans succès.

Avez-vous une idée?
Merci d'avance,
Cordialement,

Thierry

Re: pb syntaxe pour redirection par htaccess

Posté : 23 déc. 2009, 23:08
par Ryle
Qu'est ce que tu entends par "répertoire de niveau inférieur" ? Un "titi.toto.domaine.fr" ou un "toto.domaine.fr/titi" ?

Peux tu nous donner un exemple de l'url saisie et de l'url vers laquelle l'utilisateur doit être redirigé ?

Re: pb syntaxe pour redirection par htaccess

Posté : 27 déc. 2009, 22:24
par Anémone
Bonjour,

Me revoilà, avec la précision demandée:
J'entends par répertoire de niveau inférieur: domaine/dossier1/dossier2/dossier3 etc.
La syntaxe mentionnée:
RewriteCond %{HTTP_HOST} ^monsite.com(.*)$
RewriteRule ^(.*) http://www.monsite.com/$1 [QSA,L,R=301]
ne permet de rediriger, en plus de domaine.php et des autres fichiers situés à la racine du répertoire, que les fichiers inclus dans dossier1, mais pas au delà.
J'ai essayé différents bidouillages avec les regex, mais sans succès...
Merci,

Thierry

Re: pb syntaxe pour redirection par htaccess

Posté : 28 déc. 2009, 22:00
par Ryle
Personnellement j'utilise cette règle là :

Code : Tout sélectionner

RewriteCond %{HTTP_HOST} ^monsite.com [NC] RewriteRule ^(.*)$ http://www.monsite.com/$1 [R=301,NC]
Ca me redirige bien http://monsite.com/dir1/dir2/fichier.txt vers http://www.monsite.com/dir1/dir2/fichier.txt. C'est bien ce que tu veux faire ?

Re: pb syntaxe pour redirection par htaccess

Posté : 06 janv. 2010, 01:25
par Anémone
Merci, Ryle, pour cette précision qui répond exactement à mes attentes.
Avec tous mes remerciements, et je profite de ce qu'ils sont bien tardifs, pour y ajouter tous mes voeux;
cordialement

Thierry

PS: Il faudra m'expliquer, une bonne fois, où cliquer pour coller le tag "résolu"....

Re: pb syntaxe pour redirection par htaccess

Posté : 06 janv. 2010, 23:43
par Ryle
Pour indiquer que ta question est résolue et que le sujet contient une solution, il te faut cliquer sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente :)