IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[.htaccess] Redirections entre sous-domaines partageant le document root


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut [.htaccess] Redirections entre sous-domaines partageant le document root
    Bonjour,
    Je suis chez ovh et j'ai refais une version de mon site tout en conservant l'ancienne version dans un sous-domaine.
    au niveau du htaccess je ne parviens pas à faire rediriger mes pages référencées sur google vers mon ancienne version.

    Le message d'erreur est le suivant :
    Redirection de page incorrecte
    Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
    * La cause de ce problème peut être la désactivation ou le refus
    des cookies.
    pourtant, l'adresse affichée dans la barre d'adresse est correcte.
    Ma ligne dans htaccess est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RedirectPermanent /fr/formation.php http://ancien.nomdomaine.com/fr/formation.php
    Le nouveau site a pris la place de l'ancien, je ne peux donc pas faire de redirection du www vers le sous domaine.
    Comment puis-je faire ?

    Merci de votre aide et des pistes que vous voudrez bien me donner.
    ed

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je n'ai pas compris : le nouveau site est en place sur www mais tu ne veux pas qu'il soit visible, donc tu veux rediriger tout www sur le sous-domaine qui correspond à l'ancien site, c'est ça ?

    Dans quel répertoire (sous-domaine) se trouve le .htaccess d'où est extrait le RedirectPermanent que tu donnes ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Hello,
    Je n'ai pas de souci avec la visibilité mais je voudrais conserver le référencement google qui s'est instauré.
    quand le visiteur cliquera sur le lien nomdomaine.com/fr/extension.php il aura accès à l'ancien site qui se trouve dans un sous-domaine (ancien.nomdomaine.com/fr/extension.php).

    Seule la page nomdomaine.com/donnera accès au nouveau.
    Je sais, plus je cherche de solutions, plus je trouve que mon organisation n'est pas extra... mais bon, j'aurais au moins appris...

    le htaccess est au niveau du www.

    Merci.
    ed

    PS: dsl je ne suis pas au point sur la mise en forme du message...

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Pour la mise en forme, il y a les boutons # et "bulle" dans la barre d'outils de l'éditeur.

    Il n'y a vraiment que http://www.../fr/formation.php que tu veux rediriger sur le sous-domaine de l'ancien site ? Tu obtiens le message d'erreur que pour cette page ou aussi pour d'autres ?

    Sur le sous-domaine de l'ancien site, tu as des redirections ? Si oui, comment sont-elles mises en place ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    J'ai le problème pour toutes les pages de cette forme que je redirige.
    www...formation.php est un exemple de construction de mon htaccess.

    Je voulais rediriger principalement les pages qui étaient référencées sur google et qui sont toutes sous la même forme /fr/blablabla.php vers le ancien.nomdomaine.com/fr/blablabla.php

    Je n'ai pas mis de htaccess dans mon sous-domaine, je pensais que ca suffisait de rediriger par la racine du site.

    Ce qui me trouble c'est que la ligne est bien prise en compte. La redirection se fait et l'adresse de redirection est la bonne mais ca met une erreur. Est-ce au niveau du navigateur ? du serveur ? parce que c'est un sous-domaine ? Je ne parviens pas à trouver un début de réponse.

    Merci de ton aide.

    ed

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Le problème avec les directives Redirect c'est que logiquement on met un répertoire (/toto/), pas un répertoire + nom de fichier (/toto/titi.php) : la directive redirigera tout ce qui est commence par /toto/ sur l'autre URL en ajoutant ce qui suit, comme /toto/titi.php, /toto/tata/tutu.php est automatiquement redirigé respectivement vers .../titi.php et tata/tutu.php. Là, mettre un nom de fichier, ça pose peut-être problème.

    Tu peux faire 2 choses : installer un sniffer réseau comme Wireshark ou une extension Firefox du style LiveHttpHeaders pour voir quelle est l'URL de redirection et comprendre pourquoi Firefox n'est pas content. Ensuite, essaie en remplaçant le RedirectPermanent par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # A mettre une fois pour tout le fichier .htaccess
    RewriteEngine on
    RewriteRule fr/formation.php http://ancien.nomdomaine.com/fr/formation.php [R=301,L]

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut Redirect --> Merci !
    Hello _Mac_

    Merci pour ta réponse et pardon de mon retour tardif.
    Merci également de l'intérêt que tu portes à ma requête.

    Malheureusement, ton code ne fonctionne pas non plus.
    J'ai même essayé un post qui disait de modifier la configuration redirect de firefox mais que nenni.

    Je suis persuadé que c'est un détail, une faute de syntaxe ou une bidouille de liens mal fait qui m'empêche de réaliser cette opération. Mais là, je reste sans solution à mes redirections htaccess.

    Si toutefois quelqu'un a une autre idée.
    Je reste en mode veille...

    bien cordialement
    ed

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut Redirection -- > Suite
    Bonsoir à tous,

    Peut-etre une nouvelle piste pour mon problème.
    Il semble que la redirection soit effectuée près de 20 fois.
    J'ai regardé dans firebug et quand j'utilise un analyseur d'entête HTTP, j'obtiens au moins 10 fois le même entête.

    Je n'ai pas la moindre idée pourquoi cette redirection se duplique autant.
    Si quelqu'un avait un début de réponse, cela m'aiderait surement à débloquer la situation.
    Merci d'avance.
    ed

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Si la redirection part en boucle, tout laisse penser que les document roots (répertoires) des 2 sous-domaines sont les mêmes : comme tu fais une redirection en changeant uniquement le hostname et pas le chemin, si ancien.nomdomaine.com tombe sur le même répertoire que l'ancienne requête, la même règle de redirection va être opérée et on repart pour un tour et ainsi de suite. La question est donc la suivante : est-ce que les 2 sous-domaines pointent sur 2 répertoires différents ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut Redirection --> effectivement
    exact. La racine de mon sous domaine est www.

    Merci _Mac_ pour l'explication.

    Et les requêtes sont délimitées par firefox qui accepte uniquement 20 redirections dans sa configuration par défaut. Voilà pourquoi ce nombre de 20.

    Je vais chercher la syntaxe pour une telle redirection.
    si quelqu'un a des pistes, je les accepte.
    Merci
    ed

  11. #11
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Si c'est la même chose pour les deux, il faut ajouter une condition pour ne pas rediriger si le nom demandé est le bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine on
    Rewritecond %{HTTP_HOST} !^ancien\.nomdomaine\.com$ [NC]
    RewriteRule fr/formation.php http://ancien.nomdomaine.com/fr/formation.php [R=301,L]
    et vide le cache de ton navigateur avant de tester.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut Redirections, suite
    Merci à nouveau _Mac_
    j'apprends plein de trucs.
    Ca marche pas encore comme je voudrais que ça marche, mais ya du mieux, c'est indéniable.

    Voici le code qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteEngine on
    Rewritecond %{HTTP_HOST} !^ancien\.nomdomaine\.com$ [NC]
    RewriteRule fr/formation.php http://ancien.nomdomaine.com/fr/ [R=301,L]
    Autrement dit, je ne parviens pas à diriger la page formation vers la page formation mais uniquement vers le niveau supérieur à la page.
    Si je duplique ce code pour effectuer la même opération avec un autre dossier, cela ne fonctionne pas.
    pour la valise en/, il se redirige vers fr
    pour la valise tools/ il me redonne la même erreur (Redirection de page incorrecte)

    Merci en tous les cas de m'avoir mis sur la voie de Rewritcond que je vais tenter d'explorer plus en avant pour trouver ma solution.

    Bien cordialement
    ed

  13. #13
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par ediurne Voir le message
    Autrement dit, je ne parviens pas à diriger la page formation vers la page formation mais uniquement vers le niveau supérieur à la page.
    Comprends pas : RewriteRule ... /fr/ fonctionne (mais redirige sur la racine) mais pas RewriteRule ... /fr/formation.php ? Il se passe quoi exactement avec /fr/formation.php ?

    Citation Envoyé par ediurne Voir le message
    Si je duplique ce code pour effectuer la même opération avec un autre dossier, cela ne fonctionne pas.
    Idem : décris dans le détail ce que tu cherches à faire et les URL que tu utilises pour tester (les URL que tu tapes et les URL que tu voudrais obtenir).

    Citation Envoyé par ediurne Voir le message
    pour la valise tools/ il me redonne la même erreur (Redirection de page incorrecte)
    Attention : il faut dupliquer tout le bloc RewriteCond + RewriteRule : les RewriteCond ne sont pas mutualisées. Il faut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    RewriteEngine on
    Rewritecond %{HTTP_HOST} !^ancien\.nomdomaine\.com$ [NC]
    RewriteRule ...
     
    Rewritecond %{HTTP_HOST} !^ancien\.nomdomaine\.com$ [NC]
    RewriteRule ...
     
    Rewritecond %{HTTP_HOST} !^ancien\.nomdomaine\.com$ [NC]
    RewriteRule ...
     
    etc.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut htaccess redirection --> Grand Merci !
    Hello _Mac_


    Un grand merci car avec ta dernière explication tout s'est mis à fonctionner à la perfection et j'obtiens maintenant les redirections que je voulais.

    Tes conseils m'ont permis d'apprendre pleins de trucs et de progresser.
    Encore merci et à plus

    ed

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Apache][.htaccess] Redirection de sous domaines
    Par dorian53 dans le forum Apache
    Réponses: 2
    Dernier message: 28/11/2015, 23h20
  2. Partager des fichiers entre sous-domaine
    Par mikyfpc dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 10/03/2008, 22h30
  3. [Htaccess] Redirection de "sous-domaines"
    Par kevinf dans le forum Apache
    Réponses: 3
    Dernier message: 29/09/2007, 19h45
  4. [Cookies] Transmission session entre sous-domaine
    Par speedev dans le forum Langage
    Réponses: 5
    Dernier message: 03/09/2006, 00h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo