Redirection 301 impossible

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

  • [Problème] Redirection 301 impossible

    Bonjour !

    Pour un site récemment migré de 1.5. à 3, sur lequel, ensuite, des modifications ont été faites au niveau des menus et de l'organisation des catégories, certaines pages indexées sont de type
    /component/content/?id=170:
    suivi du nom de la catégorie.
    Au lieu de générer une erreur 404, le site affiche une page avec, en lieu et place du contenu (article ou autre), un message "Catégorie introuvable".
    A noter qu'aucun lien de menu n'utilise cette syntaxe "component/content" et que je ne sais pas comment Google a trouvé ces adresses, qui se retrouvent bien placées dans les résultats de recherche.
    La réécriture SEF seule a été initialement utilisée sur le site de test de migration, mais celle au vol a été, sauf erreur, activée dès que le site a été lié au nom de domaine.

    J'ai donc tenté de faire une redirection 301, mais la présence du "?id=" la rend impossible.
    J'ai ensuite essayé JoomSEF et sh404SEF, mais ni la réécriture (l'adresse ne commence pas par index.php), ni la redirection ne permettent de renvoyer vers une autre adresse, accueil ou page correspondant au sujet.
    Je voudrais éviter l'utilisation du composant et du plugin de redirection, remplissant trop vite la table correspondante, et dont je ne sais pas d'ailleurs s'il pourrait corriger ce type d'adresse.

    Y a-t-il une solution au niveau du .htaccess ?

    Merci par avance de vos réponses !
    Robert
    "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

  • #2
    Re : Redirection 301 impossible

    Bonjour Robert

    Envoyé par RobertG Voir le message
    J'ai donc tenté de faire une redirection 301, mais la présence du "?id=" la rend impossible.
    Pourquoi donc ? Quelle est la règle .htaccess que tu as utilisée car, à priori, je dirais qu'il "suffirait" d'ignorer le querystring et donc quelque chose qui se rapprocherait de :

    RewriteCond %{REQUEST_URI} .*/component/content/.*

    REQUEST_URI pour ignorer les paramètres et donc la partie située après le ? (ce caractère étant repris dans le query_string).

    (non testé).
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : Redirection 301 impossible

      Merci Christophe !

      La première règle que j'ai essayée est une simple redirection (j'ai parlé de nom de catégorie, mais je penche plutôt pour un titre d'article compte tenu de l'id)
      RedirectPermanent /component/content/?id=170:titre_de_l-article /nouvelle_adresse
      Non interprétée.

      Il s'agit ici d'une catégorie inexistante qu'il faudrait soit renvoyer à une page précise (si utile) ou à l'index.
      Et si on ignorait le query string, est-ce que ça ne risquerait pas d'impacter des adresses correspondant à des catégories correctes ?
      Je peux te donner les adresses exactes en MP ou Skype, si tu veux.

      Pour info, j'ai essayé de m'y retrouver avec la doc officielle http://httpd.apache.org/docs/current...d_rewrite.html mais je suis tout aussi perdu qu'avant !
      Dernière édition par RobertG à 24/03/2015, 14h50
      "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 impossible

        Robert

        La regex suivante matche ton exemple :

        ^/component/content/\?id=\d*:[\w-]*

        (https://regex101.com/r/sS7zK4/1; en visuel http://jex.im/regulex/#!embed=false&...3A%5B%5Cw-%5D*)

        Mais voilà, pour l'implémenter, soit tu fais au plus simple (toutes les URL de ce type-là) soit tu spécifies ID par ID et là, cela peut être galère puisque tu devras spécifier chaque article.
        (ex ^/component/content/\?id=170*:[\w-]* )

        Tu peux aussi prendre la paris de te dire qu'aucune URL /component/content n'est valide puisque tu veux que le moteur de recherche ne connaisse qu'une seule URL, celle de ta réécriture SEF et donc, en redirirgeant /component/content/?id:xxxx, tu éviteras les duplicate content.

        Je ne sais pas te suggérer une bonne tactique car je ne suis pas certain de la bonne approche. En tout cas un redirect général pour éviter le duplicate content me parait opportun.

        J'espère t'avoir, un peu, aidé.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Re : Redirection 301 impossible

          Merci Chrstophe !

          Entre-temps, j'ai utilisé
          RewriteCond %{REQUEST_URI} .*/component/content/.*
          suivi d'un Rewriterule vers le seul nom de domaine, en 301 : ça me ramène à la page d'accueil mais avec la partie querystring après le ndd !

          L'ennui, c'est que je ne sais pas combien Google a répertorié d'adresses avec cette syntaxe et que je n'ai pas envie d'explorer lien par lien près de 20 pages de résultats Google !

          Et le problème est que si je veux faire une redirection 301 sur "/component/content/?id:xxxx", elle est ignorée.
          "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

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X