erreur 404 après instal plugin MyBetterUrls

webassowebasso Member

Bonjour, je ne vois pas comment rectifier cette erreur.
Après création d'un article dans la partie privée on voit : http://www.quilucru.ouvaton.org/article1/le-chef-des-indiens-hopi-white-eagle-a-commente-la-situation-presente-il-y-a-quelques-jours
et en public l'url qui va bien : http://www.quilucru.ouvaton.org/le-chef-des-indiens-hopi-white-eagle-a-commente-la-situation-presente-il-y-a-quelques-jours ...mais avec l'erreur 404 donc l'article n'apparait pas...
Où est mon erreur, comment rétablir svp ?

Réponses

  • Salut webasso,

    dans la configuration avancée, désactive, enregistre, puis réactive la réécriture d'URL et enregistre de nouveau.

  • Bonjour, je l'ai fait plusieurs fois ... mais ça ne marche pas !

  • ... je viens même de supprimer le plugin MyBetterUrls et l'ai réinstallé (avec la réécriture d'URLS activée) mais rien n'y a fait j'ai toujours l'erreur 404

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonjour,

    Désactive la ré-écriture d'Urls et le plugin MyBetterUrls.
    L'url de l'article doit alors être :
    http://www.quilucru.ouvaton.org/index.php?article1/le-chef-des-indiens-hopi-white-eagle-a-commente-la-situation-presente-il-y-a-quelques-jours
    Si ce n'est pas le cas, donnes nous le contenu du fichier .htaccess à la racine de ton site.
    Vérifie également les droits en écriture de ce fichier avec ton logiciel ftp
    Tu as quelle version de PHP ?

  • Bonjour, chose faite, c'est ok j'ai bien ce que tu dis : http://www.quilucru.ouvaton.org/index.php?article1/le-chef-des-indiens-hopi-white-eagle-a-commente-la-situation-presente-il-y-a-quelques-jours

    • de ce coté là ça marche... mais ça marchait aussi avant, c'est avec le plugin MyBetterUrls que ça ne marche pas !
    • que dois-je faire ? Activer la réécriture d'URL et le plugin ... ?
  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Il faut faire une chose à la fois

    • réactive la réécriture d'urls et teste
    • si ok active le plugin et teste
    • si erreur 404, donne le contenu de .ht_access, version de PluXml et PHP

    Je ne suis pas certain que ce plugin marche avec la version 5.8.6 de PluXml.

  • ... ça n'a pas marché,
    version PHP 7,4
    PluXml = 5;8
    contenu fichier .htaccess :

    BEGIN -- Pluxml

    Options -Multiviews

    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

    Réécriture des urls

    RewriteRule ^(article\d|categorie\d|tag|archives|static\d|blog|page\d|telechargement|download)\b(.)$ index.php?$1$2 [L]
    RewriteRule ^feed\/(.
    )$ feed.php?$1 [L]

    END -- Pluxml

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Modifie la configuration du plugin plxMyBetterUrls comme ceci :
    copie écran

    Il faut le numéro de version de PluXml avec les 3 chiffres.

    P.S. Pour faire un copier-coller commencer par ``` et finir par ```( à droite de la fameuse touche le tiret du 6 )

  • Merci, ça marche mais du coup j'ai "article" avant le nom de l'article... le plugin n'est pas compatible ?
    La version PluXml = 5.8.6

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Le plugin est compatible avec la config que je t'ai donné.
    Avec la version 5.8.6 les règles de ré-écriture sont plus strictes pour éviter des erreurs 404 avec des trackers publicitaires ajoutés dans l'url par des sites comme Tripadvisor, Facebook, ...

    S'il te venait l'idée d'utiliser les plugins plxMySearch ou plxMyContact, il faut rajouter les lignes suivantes dans .htaccess :

    # Plugins "officiels" plxMySearch, plxMyContact
    RewriteRule ^(search|contact)\b(.*)$ index.php?$1$2 [L]
    

    Voir discussion
    https://forum.pluxml.org/discussion/6921/resolu-problemes-avec-plxmysearch#latest#Comment_61455

  • Merci pour tes réponses et conseils... oui j'ai prévu d'utiliser au moins le plugin plxMySearch pour FB justement mais je me demandais si ce plugin pouvait aussi envoyer vers un nouveau réseau que j'utilise et qui n'est pas encore connu il s'agit de https://solidarita.net/jvlib26 concernant mon profil...

  • ... Je viens de remarquer une erreur supplémentaire, je ne sais pas si elle est liée à l'ajout du plugin
    quand je veux après création d'un article le visualiser avant publication (donc en tant que brouillon) mais pas que parce qu'une fois publié l'erreur est restée, en utilisant le bouton "aperçu" je me retrouve avec la même erreur 404 (http://www.quilucru.ouvaton.org/preview)
    ya moyen de régler ça ?

  • Dans la série plugin...
    en utilisant le plugin plxMyPluginDownloader j'ai téléchargé les plugins : CKEditor - version 4.7.3 (28/11/2017) et MySocialButtons - version 1.4.1 (06/11/2014)
    Problème : ils n'apparaissent pas dans http://www.quilucru.ouvaton.org/core/admin/parametres_plugins.php même après avoir cliqué dans le menu des plugins sur : Plugins inactifs (2)
    quel est le problème ?

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Plugin plxMyBetterUrls

    Pour l'aperçu, l'url ressemble à "index.php?preview".
    Comme on est côté site, le plugin fait une redirection d'url permanente (code 301) vers "preview".
    Ce qui n'est pas très normal.

    Pour corriger ce problème, il faut modifier la fonction "Redirect301()" dans le fichier "plxMyBetterUrls.php" vers la ligne n°47 comme ceci :

        public function Redirect301() {
    
            echo '<?php
            // début de la modif
                     if(preg_match("#/index\.php\?preview$#", $_SERVER["REQUEST_URI"])) {
                # Preview
                return;
            }
                    // fin de la modif
    
            if(!defined("PLX_ADMIN") AND substr(str_replace($_SERVER["QUERY_STRING"], "", $_SERVER["REQUEST_URI"]),-1)=="?") {
                # redirection si lien http://server.com/?contenu vers http://server.com/contenu
                header("Status: 301 Moved Permanently", false, 301);
                header("Location: ".$this->urlRewrite($_SERVER["QUERY_STRING"]));
                exit();
            }
    // ...... 
    

    Inutile de copier les lignes avec "modif".

    ATTENTION : comme c'est une redirection permanente, le navigateur peut vous jouer un tour avec son cache.
    Si vous avez une erreur 404, avec l'url preview, avec Firefox, taper simultanément sur les touches Maj-Ctrl-Suppr, cocher tout et valider et rouvrir la connection au back-office

    Autre point. Ce n'est pas un bug mais ce plugin n'a pas à fonctionner dans le back-office. Il faut ajouter la balise <scope> dans le fichier infos.xml comme ceci :

    <?xml version="1.0" encoding="UTF-8"?>
    <document>
        <title><![CDATA[MyBetterUrls]]></title>
        <author><![CDATA[Stephane F.]]></author>
        <version>1.5.5</version>
        <date>10/04/2017</date>
        <site>http://pluxopolis.net/</site>
        <description><![CDATA[Amélioration des urls de PluXml]]></description>
        <scope>site</scope>
        <requirements></requirements>
    </document>
    

    C'est un plugin officiel et l'auteur est parti.
    Comme ils disent dans la pub Lidl : "On est mal, patron".

  • Bonjour,
    je ne suis pas sur de bien faire, merci pour plus de précision... je n'ai pas semble t-il la même chose dans mon fichier Php que l'exemple que tu fournis, que dois-modifier exactement à l'endroit qui convient ?
    } if(preg_match("/index.php\?(tag|archives)\/(.*)/", $_SERVER["REQUEST_URI"], $capture)) { header("Status: 301 Moved Permanently", false, 301); header("Location: ".$this->urlRewrite($capture[1]."/".$capture[2])); exit(); }

  • ... C'est peut-être mieux de mettre le contexte entier
    ```public function Redirect301() {

        echo '<?php
        if(!defined("PLX_ADMIN") AND substr(str_replace($_SERVER["QUERY_STRING"], "", $_SERVER["REQUEST_URI"]),-1)=="?") {
            # redirection si lien http://server.com/?contenu vers http://server.com/contenu
            header("Status: 301 Moved Permanently", false, 301);
            header("Location: ".$this->urlRewrite($_SERVER["QUERY_STRING"]));
            exit();
        }
        if(preg_match("/^(article|static|categorie)[0-9]+\/([a-z0-9-]+)(\/page[0-9]+)?/", $this->get, $capture)) {
            if($capture[1]!="'.$this->getParam('format_article').'") {
                $page=isset($capture[3])?$capture[3]:"";
                header("Status: 301 Moved Permanently", false, 301);
                header("Location: ".$this->urlRewrite($capture[2]."'.$this->getParam('ext_url').'".$page));
                exit();
            }
        }
        if(preg_match("/index.php\?(tag|archives)\/(.*)/", $_SERVER["REQUEST_URI"], $capture)) {
            header("Status: 301 Moved Permanently", false, 301);
            header("Location: ".$this->urlRewrite($capture[1]."/".$capture[2]));
            exit();
        }
        ?>';
    
    } ```
    
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    avril 2021 modifié
        public function Redirect301() {
    
            echo '<?php
            if(
                preg_match("#/index\.php\?preview$#", $_SERVER["REQUEST_URI"]) or
                (
                    isset($_SERVER["HTTP_REFERER"]) and
                    preg_match("#/core/admin/\w+\.php#", $_SERVER["HTTP_REFERER"])
                )
            ) {
                # Preview
                return;
            }
    
            if(!defined("PLX_ADMIN") AND substr(str_replace($_SERVER["QUERY_STRING"], "", $_SERVER["REQUEST_URI"]),-1)=="?") {
                # redirection si lien http://server.com/?contenu vers http://server.com/contenu
                header("Status: 301 Moved Permanently", false, 301);
                header("Location: ".$this->urlRewrite($_SERVER["QUERY_STRING"]));
                exit();
            }
            if(preg_match("/^(article|static|categorie)[0-9]+\/([a-z0-9-]+)(\/page[0-9]+)?/", $this->get, $capture)) {
                if($capture[1]!="'.$this->getParam('format_article').'") {
                    $page=isset($capture[3])?$capture[3]:"";
                    header("Status: 301 Moved Permanently", false, 301);
                    header("Location: ".$this->urlRewrite($capture[2]."'.$this->getParam('ext_url').'".$page));
                    exit();
                }
            }
            if(preg_match("/index.php\?(tag|archives)\/(.*)/", $_SERVER["REQUEST_URI"], $capture)) {
                header("Status: 301 Moved Permanently", false, 301);
                header("Location: ".$this->urlRewrite($capture[1]."/".$capture[2]));
                exit();
            }
            ?>';
    
        }
    

    Modifier aussi infos.xml

  • Merci, ça marche pour les articles mais pas pour la page static...
    il y a quelque chose à rajouter quelque part ?

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    avril 2021 modifié

    Effectivement, l'aperçu des pages statiques pose problème.
    Il faut modifier le premier "if" dans Redirect301().
    Voir mon billet précédent modifié à 19h38.

    Penser à purger le cache du navigateur.

  • Super, c'est ok pour l'aperçu des articles qui s'ouvrent dans un autre onglet du navigateur, mais ce n'est pas le cas pour la page static qui s'ouvre au même endroit...
    C'est possible d'y apporter une modif supplémentaire ?

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Pour l'onglet des pages statiques, c'est un bug dans PluXml.

    • soit tu maintiens la touche Ctrl quand tu cliques sur le bouton avec la souris
    • soit tu rajoutes l'attribut target à la ligne n°77 du fichier core/admin/statique.php comme ceci :
    <a href="<?php echo $url ?>" target="_blank"><?php echo L_STATIC_VIEW_PAGE ?> <?php echo plxUtils::strCheck($title); ?> <?php echo L_STATIC_ON_SITE ?></a>
    
  • Merci,
    En modifiant le fichier ça marche au poil !
    Concernant la question sur le plugin plxMySearch pour FB et ma demande liée du post du 11 avril où je me demandais si ce plugin pouvait aussi envoyer vers un nouveau réseau que j'utilise et qui n'est pas encore connu il s'agit de https://solidarita.net/jvlib26 concernant mon profil... est-ce que je le transferts dans une autre discussion où tu peux y répondre ici ?

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Pour FB, je pense que tu confonds plxMySearch avec un autre plugins ( socialboutons... ?)
    Pour l'autre point, voir l'autre fil de discussion

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Il y a un message qui surgit lorsqu'on connecte la première fois sur le site ( $_SERVER["HTTP_REFERER"] manquant.
    Pour la correction, voir le billet du 12 avril modifié ce jour à 10h35.

  • Merci, je viens de modifier le fichier... tu me diras si c'est ok parce que je ne vois pas comment le vérifier, merci d'avance

    • concernant le plugin lié au réseaux sociaux... lequel est valable et est-ce que ma demande le concernant est réalisable ?
  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Pour vérifier, ferme ton navigateur

    • Ouvre le à nouveau
    • Affiche la page d'accueil de ton site
    • Normalement pas de message d'erreur
  • Ok, ça marche
    Merci

Connectez-vous ou Inscrivez-vous pour répondre.