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
    http://www.domaine.com
    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 hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

      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 hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

          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 hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

                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 hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

                    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
                          1 sur 2 < >

                          C'est [Réglé] et on n'en parle plus ?

                          A quoi ça sert ?
                          La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                          Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                          Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                          Comment ajouter la mention [Réglé] à votre discussion ?
                          1 - Aller sur votre discussion et éditer votre premier message :


                          2 - Cliquer sur la liste déroulante Préfixe.

                          3 - Choisir le préfixe [Réglé].


                          4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                          2 sur 2 < >

                          Assistance au forum - Outil de publication d'infos de votre site

                          Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                          Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                          Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                          UTILISER À VOS PROPRES RISQUES :
                          L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                          Problèmes connus :
                          FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                          Installation :

                          1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                          Archive zip : https://github.com/AFUJ/FPA/zipball/master

                          2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                          3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                          4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                          5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                          6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                          et remplacer www. votresite .com par votre nom de domaine


                          Exemples:
                          Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                          Télécharger le script fpa-fr.php dans: /public_html/
                          Pour executer le script: http://www..com/fpa-fr.php

                          Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                          Télécharger le script fpa-fr.php dans: /public_html/cms/
                          Pour executer le script: http://www..com/cms/fpa-fr.php

                          En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                          Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                          Voir plus
                          Voir moins
                          Travaille ...
                          X