[plugin] plxPermalinks : réécriture d'url

24

Réponses

  • LaurentLaurent Member
    juin 2012 modifié
    Je viens de tester, ce n'est pas possible d'avoir comme règles :
    - pour les articles : $2-$1
    - pour les catégories : $2-$1 et $2
    - pour les pages statiques : $2 (là j'ai carrément mon site qui ne trouve plus le css et qui ne m'affiche que l'accueil oO)

    Je me suis dit c'est à cause de la règle sur les tags ($1) mais même si je vire ma règle de tag ça me marque :

    Une erreur a été détectée !
    Page non trouvée

    Version du plugin 1.2 // Pluxml 5.1.6


    EDIT : Je viens de voir que le plugin MyContact et MySearch ne fonctionnent plus quand plxPermalinks est activé, dommage.
  • amowebamoweb Member
    Laurent,

    Tes règles sont trop similaires pour que le plugin puisse faire la différence entre une page statique, une catégorie et un article.

    Il y a des limites à ce plugin. C'est un choix qui a été fait entre la performance et les fonctionnalités. Pour l'instant ce plugin n'a pas besoin de lire la liste des articles, c'est ce qui le rend utilisable même avec des blogs importants.

    Je n'ai pas trouvé de problème avec plxMyContact et plxMySearch (en tout cas avec les paramètres par défaut de plxParmalinks). Peux-tu me donner plus de détails ?

    Merci pour ton retour,
    Amaury
  • SuricatSuricat Member
    juin 2012 modifié
    Plugin très utile.

    Reste 2 points importants à traiter selon moi :
    - Le sitemap.php affiche les anciennes url non rewritées
    - Il faudrait une redirection 301 pour chaque URL existante avant la mise en place du plugin afin que google ne trouve pas plusieurs URL pour une même page, ce qui peut être mauvais pour le référencement.

    Merci pour ce plugin qui permet d'afficher des URL plus sympas.
  • Suricat a écrit:
    Plugin très utile.

    Reste 2 points importants à traiter selon moi :
    - Le sitemap.php affiche les anciennes url non rewritées
    - Il faudrait une redirection 301 pour chaque URL existante avant la mise en place du plugin afin que google ne trouve pas plusieurs URL pour une même page, ce qui peut être mauvais pour le référencement.

    Merci pour ce plugin qui permet d'afficher des URL plus sympas.
    Chez moi, les urls du sitemap sont prises en compte. Pour la redirection 301, c'est pas con comme idée. Et ce doit être assez facile à réaliser je pense.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour
    Normalement si tu as la dernière version du plugin, il me semble aussi que le sitemap est pris en compte.

    Consultant PluXml

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

  • Je me permets une suggestion : inclure des fonctionnalités plus poussées dans ce plugin, telles que la personnalisation *complète* des URL en supprimant la mention des numéros d'article, de page ou de tag (afin d'obtenir quelque chose comme monsite.com/2012/05/06/titre-de-mon-article).
    J'ai déjà posté un sujet sur cette question (http://forum.pluxml.org/viewtopic.php?id=3364), mais je me dis qu'il y a surement des solutions à croiser !
  • Bonjour,
    Chez moi le sitemap est pris en compte en local, mais pas en ligne (serveur mutualisé OVH).
    Par ailleurs, petite coquille, j'ai la dernière version de plxPermalinks : la 1.2
    Mais la date de version affichée est 17/05/2011 au lieu de 17/05/2012.

    Et oui, on est si vieux que ça...
  • amowebamoweb Member
    juillet 2012 modifié
    Je viens de publier une première version qui fait des redirections 301 si l'utilisateur entre une ancienne url rewritée. Je l'ai mise en "beta" car je ne l'ai testé que chez OVH.

    Pour que cette version fonctionne, il faut mettre à jour le fichier de configuration en cliquant sur Enregistrer dans la configuration du plugin.

    EDIT : Correction d'un problème avec feed.php. Version estampillée 1.3.1.
  • Je viens de tester ce plugin qui à l'air de fonctionner globalement.


    Chez moi il manque un ob_start dans le cas du sitemap.php, car si je fais var_dump($output) dans affichageBufferSitemap() j'ai un false et donc pas de remplacement.


    En ajoutant ob_start dans sitemap.php tout fonctionne ;)
  • Bonjour a tous
    Nouveau sur ce forum
    j’ai découvert pluxml il y a que quelque jour. Très bon au passage
    J’ai un petit souci avec ce plugin, Google référence mes url des la façon suivante.

    http:// mon-domaine.fr/articles-1/patati-patata.html.html.html

    Il y a-t-il quelque chose qui cloche ou j’ai loupé quelque chose l’or de la mise en place du plugin. ?
  • phi56360, as-tu installé la version 1.3.1 du plugin ?
  • oui c'est bien cette version que j'ai installé
  • C'est étrange, quelle configuration as-tu utilisé ? La configuration par défaut ?
  • Tu peux essayer cette version qui devrait corriger le problème.

    version 1.3.2
  • bonjour
    j'ai remplacer les fichiers par les nouveaux et je laisse la configuration par défaut
    quel était le problème
  • J'ai la version 1.3.1 du plugin et je ne sais pas si ce bug est corrigé dans la version 1.3.2 mais lorsque l'on poste un commentaire le visiteur est redirigé vers l'ancienne url "rewrité"

    Exemple :

    POST /mon-article.8.html HTTP/1.1
    HTTP/1.1 302 Found
    Location: http://xxx.com/article8/mon-article#form

    J'ai parcouru rapidement le code du plugin et je pense que travailler directement dans la fonction urlRewrite pourrait corriger ce genre de problème non ?

    Le problème c'est ce que cela implique de rajouter un hook au niveau de pluXml
  • Peux-tu jeter un œil au fichier commentaires.php de ton thème.

    As-tu cette ligne ?
    <form action="<?php $plxShow->artUrl(); ?>#form" method="post">
    

    Si tu regarde la source de la page d'un article, est-ce que cette ligne contient l'url rewrité ou l'url par défaut de PluXml ?

    Chez moi ça fonctionne très bien avec 1.3.1 et 1.3.0
  • Je confirme que j'ai bien :
    <form action="<?php $plxShow->artUrl(); ?>#form" method="post">
    
    dans commentaires.php et le "action" du form contient bien la bonne url (http://example.com/mon-article.8.html\")

    Si je regarde dans class.plx.motor.php (ligne 336) et que je fais :
    if (!empty($_POST) AND $this->plxRecord_arts->f('allow_com') AND $this->aConf['allow_com'])
                            {
                                    # On récupère le retour de la création
                                    $retour = $this->newCommentaire($this->cible, plxUtils::unSlash($_POST));
                                    # Url de l'article
                                    $url = $this->urlRewrite('?article'.intval($this->plxRecord_arts->f('numero')).'/'.$this->plxRecord_arts->f('url'));
                                    var_dump($url);
                                    exit();
    
    

    J'obtiens dans $url :
    "http://example.com/article8/mon-article#form"
    
    Au lieu de
    "http://example.com/mon-article.8.html#form"
    

    Je pense qu'on pourrait ajouter le hook sur "plxMotorDemarrageNewCommentaire" (que je découvre), je vais tester et je te dis quoi ;)
  • En ajoutant le hook :
    /**
    	 * Hook appeler lors de l'ajout d'un commentaire
    	 */
    	public function plxMotorDemarrageNewCommentaire()
    	{
    		echo '<?php $output = $url;'."\n";
    		echo $this->getParam('code');
    		echo '$url = $output;'."\n?>";
    	}
    
    Ça fonctionne correctement, vu que le plugin utilise le buffer pour faire les rewrite c'est normal que cela ne fonctionne pas sur les headers :D
  • Il est tout à fait normal que dans plxMotor, tu récupère l'adresse non rewrité. En fait le plugin fonctionne de cette manière.


    Dans index.php (IndexEnd), le plugin agit juste avant l'affichage en transformant toutes les urls de la page suivant les règles fixées par l'utilisateur. Au moment de la configuration du plugin, le .htaccess est modifié pour prendre en compte ces règles et rétablir de manière transparente les url d'origine (transformation inverse). Du coup, c'est normalement transparent pour PluXml.


    J'attends ton retour pour ton problème.
  • J'ai bien compris le mode de fonctionnement du plugin (via réécriture du buffer de sortie ), il n’empêche que pour mon soucis la redirection après le post du commentaire : l'url n'était pas la bonne (url non rewrité).

    Mon hook corrige ce problème
  • LaurentLaurent Member
    décembre 2012 modifié
    Personnellement, j'ai un soucis avec le fichier sitemap.php qui ne prend pas en compte mes règles.

    Pluxml 5.1.6
    plxPermalinks - Version 1.3.2 (31/10/2012)

    Une idée ?


    Le plugin Contact ne fonctionne plus aussi (erreur 404), alors que je ne touche pas aux règles de static.
  • StéphaneStéphane Member, Former PluXml Project Manager
    @Laurent: peux-tu stp nous communiquer tes règles pour qu'on puissent t'aider ou/et analyser le problème pour trouver une solution. Sans ça on ne peut pas faire grand chose. Merci

    Consultant PluXml

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

  • LaurentLaurent Member
    décembre 2012 modifié
    Articles : societe/$1/$2
    Catégories : c$1/$2
    Pages des catégories : c$1/$2/p$3
    Tags : $1
    Pages des tags : $1/p$2

    Au passage, je viens de me rendre compte d'un truc, j'ai fini une page statique, que je ne veux pas afficher dans le menu mais qui est active, et bien elle n'est pas dans le sitemap.php non plus :/


    Edit : pour le coup des pages statiques non répertoriées dans le sitemap, hop j'ai modifié comme indiqué là http://forum.pluxml.org/viewtopic.php?id=2823
  • StéphaneStéphane Member, Former PluXml Project Manager
    Merci Laurent on va regarder tout ça

    Consultant PluXml

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

  • C'est vrai qu'il y a un problème avec le sitemap. Les règles ne sont pas prises en compte.
    Pour ma part, c'est :

    article/$1/$2.html
    categorie/$1/$2.html
    tag/$1.html
  • StéphaneStéphane Member, Former PluXml Project Manager
    Laurent a écrit:
    Au passage, je viens de me rendre compte d'un truc, j'ai fini une page statique, que je ne veux pas afficher dans le menu mais qui est active, et bien elle n'est pas dans le sitemap.php non plus :/

    Pris en compte. corrigé pour la 5.1.7

    Consultant PluXml

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

  • chez moi ce qui ne marche pas c'est si je fais la même règle pour tous (normal me direz-vous) ... à savoir $1-$2.
  • danielsandanielsan Member
    décembre 2012 modifié
    existerait-il un moyen d'éviter de se faire écraser nos propres règles additionnelles ?
    que ce soit pour ce plugin comme pour l'activation/désactivation de l'URLrewritting ?
    une zone texte en admin dans laquelle on place nos règles qui seront rajoutées à l'htaccess généré ...


    exemple :
    J'écris des règles de redirection et elles se font écraser à chaque fois.
    Il faut donc refaire un htaccess manuellement.


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