Redirection 301 et Boucle de redirection

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Redirection 301 et Boucle de redirection

    Bonjour,

    Mon site a récemment été refondu sous joomla 3.2.3
    Avant refonte celui ci était un site statique contenant que des pages html dont la page d’accueil qui était accessible via
    Explore our renowned méthode traditionelle sparkling wines, pinot noir, estate vineyards, and tasting experiences at our breathtakingly beautiful château in Napa Valley.

    et http://www.domaine.com/index.html

    Depuis la refonte la page www.domaine/index.html n'existe plus et j'obtiens de très nombreuses erreurs 404 sur cette url car http://www.domaine.com/index.html apparait sur de nombreux forum.

    J'ai donc tenté de mettre en place la redirection suivante dans mon htaccess
    Code:
    RedirectPermanent /index.html http://www.domaine.com
    Mais j'obtiens une boucle de redirection.

    Quelqu'un pourrait m'expliquer pourquoi et surtout comment rediriger cette page /index.html vers la racine de mon site ?

    Merci d'avance

  • #2
    Re : Redirection 301 et Boucle de redirection

    Bonjour Ve34,

    Dans .htaccess la directive DirectoryAccess permet d'indiquer la page par défaut à afficher. S'il y a plusieurs fichiers cela se fait dans l'ordre des fichiers indiqués.

    Pour que index.php prenne le pas sur index.html, il faut :
    DirectoryIndex index.php index.html

    Dans cet exemple Apache va chercher d'abord index.php, puis index.html si index.php n'existe pas, puis erreur si index.html n'existe pas.

    Attention à regarder ce qu'il y avait avant comme fichiers dans DirectoryIndex pour les conserver.

    Amicalement,
    Rajoz

    Commentaire


    • #3
      Re : Redirection 301 et Boucle de redirection

      A mon avis, la syntaxe devrait être (à vérifier)
      RedirectPermanent /index.html http://www.domaine.tld/index.php
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Re : Redirection 301 et Boucle de redirection

        Bonjour Rajoz,

        Merci de ta réponse. J'ai vérifié au niveau de mon htaccess je n'ai pas de ligne contenant DirectoryIndex
        J'utilise le htaccess de base de joomla auquel j'ai ajouté à la fin quelque redirection 301 de mon ancien site vers le nouveau.
        A quel niveau dois-je placer cette ligne
        DirectoryIndex index.php index.html
        dans le htaccess ?
        Est-ce que cela redirigera bien mon vieux /index.html vers /index.php ? (j en deduis que index.php correspond à la page d'accueil par defaut sous joomla ?
        Si je mets en place le directoryIndex est-ce que je dois conserver la redirection
        RedirectPermanent /index.html http://www.domaine.com
        qui m'engendrait une boucle ?

        Merci d'avance de ton aide

        Commentaire


        • #5
          Re : Redirection 301 et Boucle de redirection

          Envoyé par Ve34 Voir le message
          DirectoryIndex index.php index.html
          A quel niveau dois-je placer cette ligne dans le htaccess ?
          Est-ce que cela redirigera bien mon vieux /index.html vers /index.php ?
          La réponse est "non", DirectoryIndex ne fait que donner l'ordre de lecture : si le visiteur utilise index.html, c'est ce fichier qui sera cherché (et pas trouvé), quelle que soit sa position dans le DirectoryIndex
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Re : Redirection 301 et Boucle de redirection

            Envoyé par RobertG Voir le message
            A mon avis, la syntaxe devrait être (à vérifier)
            Donc par défaut la page d'accueil d'un site sous joomla n'est pas www.domaine.tld mais www.domaine.tld/index.php ?

            Commentaire


            • #7
              Re : Redirection 301 et Boucle de redirection

              Alors j'ai testé la redirection
              RedirectPermanent /index.html http://www.domaine.tld/index.php
              J'obtiens toujours une boucle de redirection lorsque j'entre l'url http://www.domaine.tld/index.html

              et effectivement avec le DirectoryIndex je n'ai plus de boucle mais tjrs une erreur 404 pour l'url http://www.domaine.com/index.html

              Existe t il d'autre solution pour que mes anciens visiteurs qui avaient l'habitude d'acceder à mon site via www.domaine.com/index.html arrivent sur la racine du site et pas sur une erreur 404 ?

              Commentaire


              • #8
                Re : Redirection 301 et Boucle de redirection

                La page d'accueil est effectivement "index.php"
                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                Commentaire


                • #9
                  Re : Redirection 301 et Boucle de redirection

                  Si index.php est bien la page d'accueil alors pourquoi j'obtiens une boucle de redirection quand j'ajoute la ligne suivante dans mon hatccess
                  Redirectpermanent /index.html http://www.domaine.com/index.php

                  Qu'est ce qui ne va pas dans mon htaccess ?

                  Voici les lignes de mon htaccess
                  SetEnv PHP_VER 5_4
                  Options +FollowSymLinks
                  Options -Indexes

                  RewriteEngine On

                  RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
                  RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
                  RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
                  RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
                  RewriteRule .* index.php [F]

                  RewriteBase /

                  RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

                  RewriteCond %{REQUEST_URI} !^/index\.php
                  RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
                  RewriteCond %{REQUEST_FILENAME} !-f
                  RewriteCond %{REQUEST_FILENAME} !-d
                  RewriteRule .* index.php [L]

                  # --- Block fingerprint
                  # Block &tp=1 or &tmpl=offline ...
                  # Block f.i. http://yoursite/index.php?tmpl=offline
                  RewriteCond %{QUERY_STRING} (^|&)tmpl=(system|offline) [NC]
                  RewriteRule .* - [L]
                  RewriteCond %{QUERY_STRING} (^|&)tp= [NC]
                  RewriteRule .* - [F]
                  # ------------------------------

                  ##Spanish version
                  RedirectPermanent /spanish http://spanish.domaine.com

                  ##301 redirect for old websites
                  RewriteCond %{HTTP_HOST} ^domaine.com [nc]
                  RewriteRule ^(.*)$ http://www.domaine.com/$1 [r=301,nc]
                  Merci d'avance pour toutes suggestions et/ou aides
                  Ve34

                  Commentaire


                  • #10
                    Re : Redirection 301 et Boucle de redirection

                    Si tu as une boucle de redirection, c'est alors probablement parce que tu utilises la réécriture au vol.
                    Dans ce cas, il faut que tu utilises une autre technique.

                    En début de .htaccess :
                    DirectoryIndex index.php index.html
                    et soit tu crées un fichier index.html que tu places à la racine et qui inclut dans son entête une redirection immédiate
                    Code:
                    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    <html xmlns="http://www.w3.org/1999/xhtml">
                    <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                    <title>Document sans nom</title>
                    <meta http-equiv="Refresh" content="0; URL=index.php"/>
                    </head>
                    
                    <body>
                    </body>
                    </html>
                    soit, encore plus simple, tu ajoute dans le .htaccess, après l'instruction DirectoryIndex, cette ligne
                    Redirect permanent /index.html http://www.monsite.tld/index.php
                    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                    Commentaire


                    • #11
                      Re : Redirection 301 et Boucle de redirection

                      Merci pour ta réponse RobertG
                      Effectivement j'utilise la Réécriture d'URL en clair (SEF) ainsi que la Réécriture au 'vol' des URL.

                      Je vais de ce pas essayer ta seconde méthode.

                      Commentaire


                      • #12
                        Re : Redirection 301 et Boucle de redirection

                        Merci infiniment RobertG d'avoir pris le temps de te pencher sur mon problème.
                        La page /index.html est enfin bien redirigée vers la racine de mon site.

                        J'ai opté pour ta solution 2 :
                        DirectoryIndex index.php index.html
                        RedirectPermanent /index.html http://www.domaine.com/index.php
                        car plus rapide à mettre en place cependant j'ai modifié la redirection par
                        RedirectPermanent /index.html http://www.domaine.com
                        car cela évite une redirection en cascade que google n'aime pas trop.
                        Ainsi au lieu d'avoir index.html redirigé en 301 vers index.php qui lui est redirigé en 301 vers la racine
                        j'ai directement index.html redirigé en 301 vers la racine

                        Encore merci à toi

                        Commentaire


                        • #13
                          Re : Redirection 301 et Boucle de redirection

                          Bonjour à tous,

                          Je reviens ici car suite à la mise en place de cette solution je me suis rendu compte que la page d'accueil de mon sous domaine (index.html) n’était plus accessible et était redirigée vers la page accueil de mon domaine principal!

                          Je reprend donc mon soucis depuis le début.
                          j'ai un site qui existe depuis des lustres et la page accueil avant qu'il soit refondu avec joomla était index.html
                          Depuis le passage sous joomla ma page accueil http://www.domaine.com/index.html renvoi une erreur 404
                          Comme mon site a plusieurs années, cette page index.html est utilisée par de nombreux visiteurs pour accéder au site et ce lien est présent un peu partout sur des forums, sites, etc... je souhaiterais donc pouvoir rediriger cette page vers la nouvelle page d'accueil sous joomla soit index.php seulement comme expliqué précédemment une simple redirection 301 dans mon htaccess me donne une boucle de redirection.


                          Elément important que je n'avais pas précisé avant car je ne pensais pas que cela aurait un impact dessus :
                          j'ai également un sous domaine de ce site accessible via http://truc.domaine.com/index.html et hébérger sur le meme serveur sous un repertoire /truc/
                          et après avoir mis en place la solution :
                          DirectoryIndex index.php index.html
                          RedirectPermanent /index.html http://www.domaine.com
                          la page d'accueil de mon sous domaine renvoi alors vers la page d'accueil du domaine principal ! ce qui ne va pas du tout.

                          Enfin dernier élément j'ai remarqué dans mes logs error concernant mon sous domaine:
                          [Mon Apr 21 11:45:48 2014] [error] [client xxx.xxx.xx.xxx] [host truc.domaine.com] script not found or unable to stat: /www/truc/index.php

                          voici donc mes questions :
                          1-Que dois je faire pour que l’ancienne page www.domaine.com/index.html pointe vers la page www.domaine.com ou www.domaine.com/index.php afin de ne plus avoir d'erreur 404 et ceci sans interférence avec la page accueil de mon sous domaine ?
                          2- Que dois je faire pour que la page d'accueil truc.domaine.com/index.php (qui n'existe pas car le site correspondant au sous domaine n'est pas construit sous joomla) pointe vers truc.domaine.com/index.html pour ne plus avoir ces erreurs dans mes logs et sans qu'il n'y ait d'interference sur la page d'accueil de mon domaine principal

                          En vous remerciant grandement d'avance pour toutes pistes, solutions, idées etc

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X