mise à jour de 4.3 vers v5 : urls ?

bg62bg62 Member
bonjour
je viens de faire un p'tit test en local, la mise à jour rencontre qq problèmes, mais pas grave, par contre les urls là ça coince:
- celles du départ :
http....../?article525/nom-de-l-article
transformé en:
http...../index.php?article525/nom-de-l-article
un peu (fort ...) génant pour la valeur des backlinks ou des liens déjà en place sur d'autres sites ...
comment y remédier, en revenant au même (supprimer "index.php" dans l'url ???
@+
bg

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Alors comme ça, de tête, et sans promettre que ça fonctionne, dans le fichier class.plx.motor.php, tout en bas dans la fonction urlRewrite, dans la partie qui renvoit l'url quand l'url rewriting n'est pas activé, essaye de supprimer index.php dans la valeur de retour

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • j'ai fait ceci :
    if(!empty($args[1]))
    return $this->racine.$args[0].'/'.$args[1];
    else
    return $this->racine.$args[0];

    } else {

    if($url=='') return $this->racine;

    if(empty($args[0]) AND !empty($args[1]))
    $args[0] = '';
    // if(empty($args[0]) AND !empty($args[1]))
    // $args[0] = 'index.php';

    if(empty($args[1]))
    return $this->racine.$args[0];
    else
    return $this->racine.$args[0].'?'.$args[1];

    }

    }

    }
    ?>
    ça semble bon ...
    qu'en penses-tu ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    J'ai rien pour tester là tout de suite.
    Le mieux est que tu essayes. tu vas vite voir si ça fonctionne.

    ps: à noter que cette fonction urlRewite a été réécrite dans la prochaine release pour corriger un bug, et aussi pour être un peu plus propre.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • ok
    bon apparemment en local ça fonctionne ...
    @+
  • zetraderzetrader Member
    juillet 2010 modifié
    Stéphane a écrit:
    J'ai rien pour tester là tout de suite.
    Le mieux est que tu essayes. tu vas vite voir si ça fonctionne.

    ps: à noter que cette fonction urlRewite a été réécrite dans la prochaine release pour corriger un bug, et aussi pour être un peu plus propre.
    Je viens de tester en retirant le index.php
    dans
    if(empty($args[0]) AND !empty($args[1]))
    $args[0] = 'index.php';
    
    j'ai donc mis à la place :
    if(empty($args[0]) AND !empty($args[1]))
    $args[0] = '';
    
    c'est simple et ça fonctionne dans mon répertoire de test :
    http://zetrader.fr/pluxml/
    Dommage que j'ai pas su ça plus tôt, ça semblait plus compliqué que ça cf. topic :
    http://forum.pluxml.org/viewtopic.php?id=1824
    Le supprimer dans un seul endroit semble suffisant finalement (bonne url dans tous les flux aussi sans le index.php rajouté à chaque fois), mais c'est un peu tard pour moi du coup j'ai activé l'url rewriting pour pas avoir le index.php partout et google a indexé toutes les nouvelles formes d'url sans le ? donc ça donnerait des erreurs 404 partout sur les nouvelles url référencées si je reviens à l'ancien format d'url.
  • tiens, il y a un truc que je ne comprends pas, après avoir testé ça sur le répertoire de test, j'ai voulu tester l'erreur que ça faisait si j'accède de nouveau à l'url rewritée :
    /articlexx/ au lieu de /?articlexx/ ou /index.php?articlexx/
    A ma grande surprise, en ayant désactivé la réécriture d'url , l'accès via /articlexx/ fonctionne quand même ... des explications techniques ?
  • autre problème
    pendant les "tests" de mise à jour en local, le blog continue à vivre ... (heureusement)
    mais:
    - je fais un nouvel article que je publie en ligne
    - j'importe le fichier xml sur le local (v5)
    et il n'apparait pas !!!
    normal ou ?
    @+
  • FrédéricFrédéric Member
    juillet 2010 modifié
    zetrader a écrit:
    tiens, il y a un truc que je ne comprends pas, après avoir testé ça sur le répertoire de test, j'ai voulu tester l'erreur que ça faisait si j'accède de nouveau à l'url rewritée :
    /articlexx/ au lieu de /?articlexx/ ou /index.php?articlexx/
    A ma grande surprise, en ayant désactivé la réécriture d'url , l'accès via /articlexx/ fonctionne quand même ... des explications techniques ?
    Pour cela c'est parce que PluXml créer/ajoute une condition rewrite dans le htaccess.

    Lorsque tu désactive l'url rewrite, celui ci ne supprime pas le htaccess pour des raisons de sécurité.

    Et pour finir si tu désire donc retrouver l'ancien système d'url, il te suffis de virer dans ton htaccess les lignes du mot :
    # BEGIN -- Pluxml
    
    à
    # END -- Pluxml
    
    .
    @bg62,

    Ton article contenais t'il de multiple catégories ?
  • bg62bg62 Member
    juillet 2010 modifié
    "@bg62,

    Ton article contenais t'il de multiple catégories ?"
    non !
    c'est celui-ci:
    http://blog.unesourisetmoi.info/?article526/personnaliser-la-page-d-accueil-de-google
    j'ai rapatrié le fichier dans la v5 locale et il ne se met pas dans la catégorie
    'apprendre à se servir de google'
    il n'est même pas dans l'admin d'ailleurs ...
    et pourtant dans 'data/articles' j'ai bien :
    0526.010.201007301541.personnaliser-la-page-d-accueil-de-google.xml
    ?
    et :
    "Et pour finir si tu désire donc retrouver l'ancien système d'url, il te suffis de virer dans ton htaccess les lignes du mot :"
    dans quel .htaccess ? il y en a plusieurs ...
    @+
  • Ok dans ce cas je te préconise de vérifier le chmodd de ton fichier (minimum 0644), sinon au pire tente l'envoi complet de /data histoire de "fixer" le problème s'il est.

    Pour le htaccess, je parle celui placer à la racine de ton installation de Pluxml.
  • StéphaneStéphane Member, Former PluXml Project Manager
    à voir le nom de ton fichier
    0526.010.201007301541.personnaliser-la-page-d-accueil-de-google.xml
    
    c'est normal que tu ne le vois pas, il ne correspond pas à la nouvelle syntaxe de la v5.
    il faut passer par le script de mise à jour

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • bg62bg62 Member
    Stéphane a écrit:
    à voir le nom de ton fichier
    0526.010.201007301541.personnaliser-la-page-d-accueil-de-google.xml
    
    c'est normal que tu ne le vois pas, il ne correspond pas à la nouvelle syntaxe de la v5.
    il faut passer par le script de mise à jour
    donc si je comprends bien
    - actuellement je prépare la mise à jour en local
    - je continue à mettre des articles en ligne
    .... il faudra donc en local que je fasse du copier/coller pour les avoir ?
    @+
  • bg62bg62 Member
    pour le htaccess à la racine : il ne contient que la demande pour activer php5, donc pour le reste ... comprends pas tout :-)
  • StéphaneStéphane Member, Former PluXml Project Manager
    bg62 a écrit:
    donc si je comprends bien
    - actuellement je prépare la mise à jour en local
    - je continue à mettre des articles en ligne
    .... il faudra donc en local que je fasse du copier/coller pour les avoir ?
    @+
    Excuses moi mais je suis un peu perdu là.
    Que veux-tu faire exactement ? à partir de quoi, pour aller vers quoi ?

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • zetraderzetrader Member
    septembre 2010 modifié
    zetrader a écrit:
    Stéphane a écrit:
    J'ai rien pour tester là tout de suite.
    Le mieux est que tu essayes. tu vas vite voir si ça fonctionne.

    ps: à noter que cette fonction urlRewite a été réécrite dans la prochaine release pour corriger un bug, et aussi pour être un peu plus propre.
    Je viens de tester en retirant le index.php
    dans
    if(empty($args[0]) AND !empty($args[1]))
    $args[0] = 'index.php';
    
    j'ai donc mis à la place :
    if(empty($args[0]) AND !empty($args[1]))
    $args[0] = '';
    
    c'est simple et ça fonctionne dans mon répertoire de test :
    http://zetrader.fr/pluxml/
    Dommage que j'ai pas su ça plus tôt, ça semblait plus compliqué que ça cf. topic :
    http://forum.pluxml.org/viewtopic.php?id=1824
    Le supprimer dans un seul endroit semble suffisant finalement (bonne url dans tous les flux aussi sans le index.php rajouté à chaque fois), mais c'est un peu tard pour moi du coup j'ai activé l'url rewriting pour pas avoir le index.php partout et google a indexé toutes les nouvelles formes d'url sans le ? donc ça donnerait des erreurs 404 partout sur les nouvelles url référencées si je reviens à l'ancien format d'url.
    UPDATE à la version 5.0.1 :
    Bonjour, je viens d'essayer de mettre à jour le blog de la version 5.0.0 à la version 5.0.1 et le problème des index.php rajoutés partout dans les url s'est repointé donc je suis repassé à l'ancienne version 5.0.0.
    Le code est différent de la 5.0.0 dans class.plx.motor.php concernant le index.php, j'ai tenté de supprimer le "index.php" dans le bout de code ci-dessous vers la fin du fichier, mais ça n'a pas arrangé le problème comme avec la 5.0.0 :
    if(empty($args[1]) AND !empty($args[2])) $args[1] = 'index.php';
    $new_url  = !empty($args[1])?$args[1]:$this->path_url;
    $new_url .= !empty($args[2])?'?'.$args[2]:'';
    $new_url .= !empty($args[3])?'#'.$args[3]:'';
    return $this->racine.$new_url;
    
    Des suggestions pour ne pas avoir des index.php rajoutés partout dans les url avec la 5.0.1 sans url rewriting ?
  • Bonjour, toujours pas de solution pour les index.php rajoutés partout dans les url avec la 5.0.1 sans url rewriting ?
    Au vu du changelog entre 5.0.1 et 5.0.2 (la seule modification étant la correction d'une faille), j'imagine qu'avec la 5.0.2 c'est le même cas qu'avec la 5.0.1.
Connectez-vous ou Inscrivez-vous pour répondre.