Partage
  • Partager sur Facebook
  • Partager sur Twitter

Redirection sous-domaine vers repertoire

Sujet résolu
    13 novembre 2012 à 10:54:03

    Bonjour à tous,

    J'ai crée sur mon domaine principal un sous-domaine. Ce sous-domaine pointe sur http://www.mondomaine/niveau1/niveau2/

    Ayant fait le nécessaire via le panel de mon hébergeur, le résultat obtenu est bien celui voulu lorsque je visite http://niveau2.mondomaine.com

    En revanche, cela me chagrine de voir que l'on peut toujours appeler la page http://www.mondomaine/niveau1/niveau2/, j'aimerais que celle-ci soit automatiquement redirigée vers le sous-domaine. J'ai torturé mon .htaccess dans tous les sens, aussi bien celui à la racine de mon domaine que dans /niveau2/ mais sans succès...

    Quelqu'un a-t-il déjà eu à résoudre une redirection de ce genre ?

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      13 novembre 2012 à 11:04:06

      Perso en cherchant 5 secondes j'ai trouvé ce code, dont tu peux t'inspirer :
      RewriteEngine on
      
      RewriteCond %{HTTP_HOST}   ^sous-domaine.ancien-domaine\.com [NC]
      RewriteRule ^/?(.*)         http://sous-domaine.nouveau-domaine.com/$1 [L,R=301]
      
      • Partager sur Facebook
      • Partager sur Twitter
        13 novembre 2012 à 11:19:04

        Je ne suis vraiment pas un spécialiste du .htaccesse, mais là je ne comprends pas ton bout de code avec des deux côtés un sous-domaine ?

        Au départ, j'étais parti sur cela (dans le dossier rep2) mais cela ne fonctionne pas.
        RewriteCond %{HTTP_HOST} ^rep2.domaine.com$
        RewriteRule ^(.*) http://www.domaine.com/rep1/rep2/ [L,R=301]
        


        Quand je dis que cela ne fonctionne pas, j'entends que l'url http://www.domaine.com/rep1/rep2/ reste affichée dans la barre d'adresse.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          13 novembre 2012 à 11:23:56

          Essaie quelque chose comme ça :

          RewriteCond %{HTTP_HOST} ^www\.domaine\.com\/rep1\/rep2 [NC]
          RewriteRule ^/?(.*) http://rep2.domaine.com/$1 [L,R=301]
          
          • Partager sur Facebook
          • Partager sur Twitter
            13 novembre 2012 à 11:34:22

            Merci de ta persévérance Viki, mais cela ne marche toujours pas. J'ai essayé dans le htaccess aussi bien à la racine que dans /rep2/ et l'url l'url http://www.domaine.com/rep1/rep2/ continue de s'afficher.

            J'ai aussi tenté de rajouter "\/" après rep2 dans la première ligne, mais sans succès non plus.
            • Partager sur Facebook
            • Partager sur Twitter
              13 novembre 2012 à 11:52:29

              RewriteCond %{HTTP_HOST} =www.domaine.com
              # pour .htaccess à la racine
              RewriteRule ^niveau1/niveau2/(.*)$ http://niveau2.mondomaine.com/$1 [L,R=permanent]
              # pour .htaccess dans le répertoire niveau2
              RewriteRule ^.*$ http://niveau2.mondomaine.com/$0 [L,R=permanent]
              


              * les slashs ne s'échappent pas
              * le chemin dans une RewriteRule, dans un .htaccess, ne commence jamais par un slash
              * %{HTTP_HOST} n'est que le nom d'hôte, il ne comprend pas le chemin ni aucune partie de la requête HTTP
              • Partager sur Facebook
              • Partager sur Twitter

              julp.fr ~ Les règles sur OC ~ je ne fais pas d'effort pour ceux qui n'en font pas

                13 novembre 2012 à 12:28:50

                Bonjour Julp.

                J'ai opté pour la seconde méthode qui marche parfaitement.

                Je n'ai pas réussi à faire ce que je voulais avec la première mais je n'exclus pas qu'une autre ligne de mon .htaccess mette le bazar...

                Merci en tout cas !!!
                • Partager sur Facebook
                • Partager sur Twitter
                  13 novembre 2012 à 13:37:01

                  Il faut mettre la première ou la seconde ligne RewriteRule mais pas les deux à la fois suivant, comme je l'ai indiqué en commentaire, où le fichier .htaccess est placé (supprimer celle qui ne convient).

                  Si tu rencontres toujours des difficultés (visiblement non puisque le sujet est marqué résolu), reprécises et donnes nous le contenu des autres .htaccess (un conflit étant possible)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  julp.fr ~ Les règles sur OC ~ je ne fais pas d'effort pour ceux qui n'en font pas

                    26 octobre 2014 à 21:10:02

                    Bonjour,

                    Je cherche également à faire une redirection mais dans l'autre sens, je m'explique : j'ai http://www.monsite.fr/forum/ et je voudrai obtenir dans tous les cas http://forum.monsite.fr/. Est-ce comme cela que je dois procéder ? :

                    RewriteCond %{HTTP_HOST} =forum.monsite.fr
                    RewriteRule ^.*$ http://www.monsite.fr/forum/$0 [L,R=permanent]


                    Merci !

                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 février 2017 à 0:52:21

                      Bonjour

                      Quelqu'un peu m'expliquer ce qu'on colel telle quel dans de tel code et ce qu'on transforme ?

                      J'ai bien compris qu'on remplace les noms du nom de domaine par les siens, mais le reste ?

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Redirection sous-domaine vers repertoire

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown