Liens vers des articles privés qui renvoient sur la page d'accueil

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

  • [RÉGLÉ] Liens vers des articles privés qui renvoient sur la page d'accueil

    Bonjour,

    Notre site héberge une grosse documentation dont les articles ont des niveaux d’accès divers.
    Il arrive régulièrement, depuis longtemps et de façon aléatoire, que les liens vers ces articles (qu'on se transmet par mail par exemple) renvoient vers la page d'accueil, alors que :
    - l'utilisateur est bien connecté
    - l'utilisateur possède l'accès nécessaire
    - le lien est correct

    C'est assez gênant de se retrouver avec des clients au bout du fil, qui n'arrivent pas à ouvrir un article et qui doivent passer par une voie détournée pour y arriver... :S

    Configuration :
    • Joomla 3.9.1
    • Forcer HTTPS = Aucun
    Paramètres SEO :
    • Réécriture d'URL en clair (SEF) = OUI
    • Réécriture au 'vol' des URL = OUI
    • Ajouter un suffixe aux URL = NON
    • Alias Unicode = NON

    Comme le problème est aléatoire et difficilement reproductible, je ne saurais pas dire s'il s'agit de l'authentification qui n'aboutit pas ou d'un problème SEF.
    On a pas mal de redirections dans notre .htaccess mais rien qui concerne le menu qui est le plus touché (www.notresite.fr/doc/...)

    Quelqu'un aurait une idée ?
    Merci !
    Fanny
    Dernière édition par 8Fanny8 à 14/02/2019, 11h24

  • #2
    Je viens d'arriver à reproduire le problème !

    Voilà comment j'ai procédé :
    - dans un onglet j'ai ouvert la page d'accueil du site, dans ce cas je suis connectée à ce moment là
    - je me déconnecte
    - je me reconnecte depuis le module de connexion (je suis toujours sur la page d'accueil)
    - là je clique sur le lien (depuis skype en l’occurrence) vers l'article protégé que je souhaite consulter
    -> 1ère tentative : un onglet s'ouvre, l'url correcte du lien s'affiche dans la barre d'adresse, mais on est tout de suite redirigé vers la page d'accueil
    -> 2ème tentative (je reclique sur le même lien depuis skype) : cette fois l'article s'ouvre (ce qui montre que j'ai bien accès au contenu), comme si la session était devenue valide.

    Bien sûr comme j'utilise un lien depuis l'extérieur du site, il ouvre mon navigateur par défaut, ici Firefox.

    Commentaire


    • #3
      Que voit-on comme page si on n'est pas déjà connecté et qu'on clique sur un tel lien ? La page d'accueil ou une page 404 ou encore une page demandant qu'on se connecte ?
      "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
        En effet, c'est une bonne piste.
        En investiguant j'ai pu constater que :
        -> les liens du type http://notresite.fr posaient problème (renvoient sur la page d'accueil qu'on soit connecté ou pas)
        -> les liens du type http://www.notresite.fr sont corrects (renvoient sur la bonne page quand on est connecté et mémorise l'adresse de redirection si ce n'est pas le cas)

        MAIS : c'est assez ésotérique car si on clique sur un lien qui se trouve dans Word par exemple, et même si on est déjà connecté au site, on est systématiquement renvoyé à la page de connexion :
        -> les liens du type http://notresite.fr perdent la connexion, renvoient sur la page de connexion (sans adresse mémorisée)
        -> les liens du type http://www.notresite.fr gardent la connexion, renvoient sur la page de connexion (avec simplement un bouton 'Deconnexion' vu qu'on est toujours connecté)

        Donc on a 2 problèmes différents :Je ne sais même pas comment aborder le 1er problème
        C'est plutôt une question DNS en fait non ?

        Commentaire


        • #5
          On est hébergés chez OVH. A noter que dans la définition de notre zone DNS on a 2 entrées :
          • notresite.fr | dossier racine = www | SSL = Activé
          • www.notresite.fr | dossier racine = www | SSL = Activé
          Dernière édition par 8Fanny8 à 31/01/2019, 11h29

          Commentaire


          • #6
            La première chose à faire serait de ne pas accéder au site avec une adresse avec www et une sans, donc rediriger systématiquement par .htaccess l'un vers l'autre.
            Il serait bien d'en profiter pour passer en https systématiquement aussi, car le certificat étant par défaut activé chez OVH en mutualisé, il y a donc actuellement quatre adresses différentes pour une même page : avec ou sans www, avec http ou https.

            Une discussion recente à ce sujet : https://forum.joomla.fr/forum/joomla...https-htaccess
            "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


            • #7
              Oui, tout à fait.
              En ce qui concerne le HTTPS pour l'instant je rencontre le même problème que toi, à savoir une page de type iframe, qui permet d'accéder à notre service de support, encore en HTTP. Donc on est obligés d'attendre mais ça devrait évoluer.
              Pour le www je vais essayer une redirection systématique dans le .htaccess, et indiquer à l'équipe d'éviter les liens qui ne contiennent pas le 'www'.
              Je peux utiliser le code proposé par Christophe, c'est à dire, pour la partie www :

              Code:
              #   redirect to www. when the prefix wasn't mentionned    
              # hstspreload.org seems to not really like to make the two at once    
              RewriteCond %{HTTP_HOST} !^www\.    
              RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
              Pour l'instant je ne vois pas la nécessité de la condition <IfModule mod_rewrite.c>, je ne vois pas non plus un équivalent dans le .htaccess.
              Je note aussi d'ajouter un 'https' dans ce bloc quand il sera temps.
              Dernière édition par 8Fanny8 à 31/01/2019, 12h03

              Commentaire


              • #8
                <IfModule mod_rewrite.c> a pour but de ne pas laisser le serveur tenter d'exécuter les instructions si ce module n'est pas activé.
                "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
                  Mais cette condition marche dans le .htaccess ? Ou alors je suis larguée et vous parliez du fichier index.php ?

                  Commentaire


                  • #10
                    C'est bien dans le fichier .htaccess que tu peux vérifier si le module est fonctionnel et lui passer des instructions.
                    "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
                      J'ai intégré le code suivant à la fin du bloc des "rewrite rules" du .htaccess :

                      Code:
                      # Redirect to www. when the prefix wasn't mentionned
                      <IfModule mod_rewrite.c>
                          RewriteCond %{HTTP_HOST} !^www\.
                          RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
                      </IfModule>
                      Là tout de suite je ne suis pas arrivée à reproduire le problème, mais la redirection fonctionne, ça devrait le faire.

                      Merci beaucoup !

                      Commentaire


                      • #12
                        Bon, ça ne convient pas, tout simplement parce qu'en plus du .fr, nous avons plusieurs extensions géographiques (.global, .de, .es, etc.) ; et quand j'ai intégré le code toutes les adresses (toutes extensions confondues) étaient redirigées sur www.notresite.fr...
                        J'ai donc 2 questions :
                        • Est-ce qu'avoir une adresse de référence avec www est un bon choix en matière de SEO, quelle que soit l'extension ? J'imagine que ça revient au même...
                        • Comment intégrer une redirection qui prend en compte le domaine de l'adresse demandée ? Je pensais que le paramètre {HTTP_HOST} aurait fait l'affaire... L'idéal serait d'avoir le domaine avec l'extension en paramètre, pour éviter de la maintenance et des problèmes en cas d'oubli.

                        Commentaire


                        • #13
                          En fait la redirection rentrait en conflit avec un module GTranslate ; on les a contactés et ils ont intégré la redirection sur chaque domaine. Voilà, merci !

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X