Aller au contenu

.htaccess : redirections par répertoire


Sujets conseillés

J'ai lu l'article de Dan sur les fichiers .htaccess. Mais j'ai l'impression que je passe à côté d'un point important, parce que j'arrive systématiquement à une erreur 500.

Ce que je veux faire

J'ai un ancien site : www.vivreaveclesoleil.info. Il contient notamment trois répertoires : /ecole, /loisirs et /famille.

J'ai un nouveau site : www.soleil.info. Il contient notamment trois répertoires /ecole, /animation et /famille.

J'aimerais que toutes les URL www.vivreaveclesoleil.info/ecole/[n'importe quoi] pointent vers www.soleil.info/ecole. Idem pour /loisirs => /animation et /famille => /famille

De plus, j'aimerais que www.vivreaveclesoleil.info pointe vers www.soleil.info

Ce que j'ai mis dans mon .htaccess, à la racine du site

RedirectPermanent / http://www.soleil.info
RedirectPermanent /loisirs/ http://www.soleil.info/animation

Ce qui se passe

Erreur 500

Est-ce que quelqu'un voit ce qui peut poser problème ?

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

Et oui, tu as oublié le slash final.

Avec redirectPermanent, on redirige toujours un répertoire vers un répertoire, et pas vers une seule page ;)

Donc:

RedirectPermanent  /loisirs/   http://www.soleil.info/animation/
RedirectPermanent / http://www.soleil.info/

Le fait aussi de mettre "RedirectPermanent / http://www.soleil.info/" au début, faisait qu'il ne pouvait pas passer à la seconde ligne que que la redirection s'appliquait.

Lien vers le commentaire
Partager sur d’autres sites

Essaie en ne mettant que la seconde ligne et dis-nous ce que ça donne

RedirectPermanent  /  http://www.soleil.info/

Il faut mettre ça à la racine de l'ancien domaine www.vivreaveclesoleil.info

Les deux sont hébergés sur le même serveur (celui que je gère) ?

Fais aussi attention si tu crées tes fichiers sous windows ou mac, les fins de lignes ne sont pas les mêmes sous Linux, et il faut transférer par ftp en choisissant le mode ASCII ou TEXT (et pas le mode BINARY)

Lien vers le commentaire
Partager sur d’autres sites

C'est depuis un autre serveur OVH vers celui que tu gères.

J'ai essayé en mode Texte (c'était en mode automatique, j'utilise WinSCP), je ne garde que la première ligne, ça ne change rien, même erreur...

Lien vers le commentaire
Partager sur d’autres sites

Je crois que c'est OVH Dan, désolé pour l'oubli du slash dans le modèle de 301 que je t'ai communiqué Rémi :blushing:

La config du site vivreaveclesoleil me semble assez classique :

Date: Tue, 19 Feb 2008 10:51:09 GMT

Server: Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-22

X-Powered-By: PHP/4.3.10-22

Lien vers le commentaire
Partager sur d’autres sites

Je me demande si la directive override est activé dans httpd.conf (AllowOverride All est nécessaire si je ne m'abuse) si ça se trouve ils ont mis AllowOverride None dans le httpd.conf...

Le plus simple serait de transférer ce domaine sur ns29452 (i.e modifier le pointage des DNS pour vivreaveclesoleil.info), créer le domaine dans DirectAdmin, attendre que les DNS soit propagées et ensuite ajouter le .htaccess sur le serveur :)

Au moins vous avez la main sur le domaine !

Lien vers le commentaire
Partager sur d’autres sites

Juste au cas où quelqu'un tomberait sur ce topic

Dan m'a confirmé que c'était bien un problème d'AllowOverride dans mon cas... et comme je ne peux pas éditer le fichier httpd.conf, je laisse tomber :)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Ca y est, j'ai fait le transfert du nom de domaine, et ça fonctionne... mais pas exactement comme je m'y attendais :)

Je viens de découvrir ce sujet, et j'ai exactement le même problématique : je veux rediriger un répertoire entier vers une page. C'est que je voulais dire quand je disais, probablement maladroitement : "J'aimerais que toutes les URL www.vivreaveclesoleil.info/ecole/[n'importe quoi] pointent vers www.soleil.info/ecole"

Si j'ai bien compris ton explication dans l'autre sujet, je peux ajouter ça dans le /ecole/ :

RewriteEngine on

RewriteRule (.*) http://www.soleil.info/ecole/ [R,L]

Est-ce que c'est possible de faire précéder cette règle par quelque chose du genre (qui serait donc une exception à la règle générale) ?

RedirectPermanent /sinscrire http://www.soleil.info/ecole/inscription.html

Je découvre qu'il y a une manière particulière d'écrire toutes ces règles : est-ce qu'il existe une ressource bien faite pour se plonger là-dedans ?

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