problème avec les flux rss avec la v5 en mode réécriture d'urls

Bonjour,
quand j'active les flux rss en mode réécriture d'urls, les urls pour les flux rss des articles et des commentaires ne sont plus bonnes.
Que ce soit dans un test avec une version toute neuve ou sur mon blog de production.
Exemple avec une version de test dans un répertoire :
http://zetrader.fr/pluxml/

Pour les RSS j'ai des erreurs 404 partout :
fil des articles :
http://zetrader.fr/pluxml/feed/atom
fil des commentaires des articles :
http://zetrader.fr/pluxml/feed/atom/commentaires
fil des commentaires d'un article :
http://zetrader.fr/pluxml/feed/atom/commentaires/article2

la bonne adresse serait avec feed.php? au lieu de feed/
les flux rss ainsi sont fonctionnels, et enregistrent les adresses rewrittées des articles et des coms :
http://zetrader.fr/pluxml/feed.php?atom
http://zetrader.fr/pluxml/feed.php?atom/commentaires
http://zetrader.fr/pluxml/feed.php?atom/commentaires/article2

Comment changer cela dans le .htaccess pour avoir les bonnes adresses de flux ?
Voici le .htaccess après avoir activé la réécriture d'urls :
# BEGIN -- Pluxml
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /pluxml/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Réécriture des urls
RewriteRule ^([^feed\/].*)$ index.php?$1 [L]
RewriteRule ^feed\/(.*)$ feed.php?$1 [L]
</IfModule>
<Files "version">
    Order allow,deny
    Deny from all
</Files>
# END -- Pluxml
Merci pour vos réponses :)

Réponses

  • FrédéricFrédéric Member
    juillet 2010 modifié
    Bonjour Zetrader,

    Peux tu vérifier le chmodd de tes fichiers php (644 pour les fichiers et 755 les dossiers)

    Sinon test de renvoyer les fichiers de pluxml en mode binaires.

    Exemple: http://pluxml.org/feed/atom/commentaires
  • Oui j'ai bien ces valeurs 644 (fichiers) & 755 (dossiers) sur mon ftp, cf. screenshot :
    http://zetrader.fr/pluxml/data/images/feed.jpg
    J'ai régardé qq sous répertoires, dont les fichiers articles, les sous-dossiers étaient en 755 et les fichiers 644.
  • StéphaneStéphane Member, Former PluXml Project Manager
    utilises-tu cette syntaxe dans ton thème pour déclarer le lien vers tes flux
    <?php $plxShow->urlRewrite('feed.php?atom') ?>
    
    <link rel="alternate" type="application/atom+xml" title="Atom articles" href="<?php $plxShow->urlRewrite('feed.php?atom') ?>" />
    <link rel="alternate" type="application/rss+xml" title="Rss articles" href="<?php $plxShow->urlRewrite('feed.php?rss') ?>" />
    <link rel="alternate" type="application/atom+xml" title="Atom commentaires" href="<?php $plxShow->urlRewrite('feed.php?atom/commentaires') ?>" />
    <link rel="alternate" type="application/rss+xml" title="Rss commentaires" href="<?php $plxShow->urlRewrite('feed.php?rss/commentaires') ?>" />
    
    <li><a href="<?php $plxShow->urlRewrite('feed.php?atom/commentaires') ?>" title="Fil Atom des commentaires">Commentaires</a></li>
    <li><a href="<?php $plxShow->urlRewrite('feed.php?atom') ?>" title="Fil Atom des articles">Articles</a></li>
    
    regarde dans le fichier header.php du thème par défaut

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Apparemment oui.
    Voici mon fichier header en ce qui concerne les flux rss (je n'ai rien changé au thème, c'est donc bien le thème par défaut) :
    <li><a href="<?php $plxShow->urlRewrite('feed.php?atom/commentaires') ?>" title="Fil Atom des commentaires">Commentaires</a></li>
    <li><a href="<?php $plxShow->urlRewrite('feed.php?atom') ?>" title="Fil Atom des articles">Articles</a></li>
    
    et
    <link rel="alternate" type="application/atom+xml" title="Atom articles" href="<?php $plxShow->urlRewrite('feed.php?atom') ?>" />
    <link rel="alternate" type="application/rss+xml" title="Rss articles" href="<?php $plxShow->urlRewrite('feed.php?rss') ?>" />
    <link rel="alternate" type="application/atom+xml" title="Atom commentaires" href="<?php $plxShow->urlRewrite('feed.php?atom/commentaires') ?>" />
    <link rel="alternate" type="application/rss+xml" title="Rss commentaires" href="<?php $plxShow->urlRewrite('feed.php?rss/commentaires') ?>" />
    
  • par contre la ligne toute seule :
    <?php $plxShow->urlRewrite('feed.php?atom') ?>
    
    Je ne l'ai pas, elle est uniquement en tant que lien cf. code posé ci-dessus dans mon header.
    Cette ligne toute seule devrait se situer où dans le header.php ?
  • Étonnant oui...

    Peux tu mettre ici ton htaccess de ta racine www ?

    Tu n'as rien rajouté dans ton htaccess du repertoire /pluxml ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    zetrader a écrit:
    par contre la ligne toute seule :
    <?php $plxShow->urlRewrite('feed.php?atom') ?>
    
    Je ne l'ai pas, elle est uniquement en tant que lien cf. code posé ci-dessus dans mon header.
    Cette ligne toute seule devrait se situer où dans le header.php ?
    c'etati juste pour montrer qu'il faut passer par la fonction urlRewrite.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Non, rien rajouté sur le .htaccess du répertoire de test pluxml
    Voici mon .htaccess sur la racine du domaine (où est hébergé le blog en production) :
    ErrorDocument 204 http://zetrader.fr/
    ErrorDocument 300 http://zetrader.fr/
    ErrorDocument 403 http://zetrader.fr/
    ErrorDocument 404 http://zetrader.fr/
    ErrorDocument 408 http://zetrader.fr/
    ErrorDocument 410 http://zetrader.fr/
    ErrorDocument 500 http://zetrader.fr/
    ErrorDocument 502 http://zetrader.fr/
    ErrorDocument 503 http://zetrader.fr/
    ErrorDocument 504 http://zetrader.fr/
    
    RedirectPermanent /zetrader-trading-plus-values-gains-en-capitaux.htm http://zetrader.fr/?article203/gains-en-bourse-plus-values-gains-en-capitaux-2002-a-2010
    
    # BEGIN -- Pluxml
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    # Réécriture des urls
    RewriteRule ^([^feed\/].*)$ index.php?$1 [L]
    RewriteRule ^feed\/(.*)$ feed.php?$1 [L]
    </IfModule>
    <Files "version">
        Order allow,deny
        Deny from all
    </Files>
    # END -- Pluxml
    
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^zetrader\.fr [NC]
    RewriteRule (.*) http://zetrader.fr/$1 [QSA,R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) http://zetrader.fr/
    RemoveType x-mapp-php4 .html
    AddType x-mapp-php5 .php
    
    Le .htaccess dans le répertoire pluxml de test
    # BEGIN -- Pluxml
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /pluxml/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    # Réécriture des urls
    RewriteRule ^([^feed\/].*)$ index.php?$1 [L]
    RewriteRule ^feed\/(.*)$ feed.php?$1 [L]
    </IfModule>
    <Files "version">
        Order allow,deny
        Deny from all
    </Files>
    # END -- Pluxml
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    C'est quoi ton hébergeur ?

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • FrédéricFrédéric Member
    juillet 2010 modifié
    Dans le htaccess de ton pluxml fraichement installé, test en rajoutant cette ligne:
    AddType x-mapp-php5 .php
    
    Ou copie ton htaccess de ta racine dans pluxml et change RewriteBase /pluxml/

    Sinon je ne vois pas :(
  • zetraderzetrader Member
    juillet 2010 modifié
    non ça change rien, en rajoutant la ligne ou en mettant le .htaccess de ma racine, ça marche toujours pas, de toutes façons c'est la même chose pour le blog sur la racine de mon domaine les liens rewrittés vers les flux rss ne marchent pas.
    Pour les flux articles et commentaires généraux, via le thème j'ai l'ancien lien qui fonctionne bien, sinon avec le thème non modifié par défaut, ça marchait pas.
    Mais que les liens vers les flux restent sous la forme feed.php?atom ou feep.php?rss ne me dérange pas, d'autant plus que les flux sont déjà référencés sous cette adresse.
    En fait comme j'ai pu corriger le problème pour les flux généraux, pour le flux par article j'aimerais juste pouvoir mettre à la place le lien non rewritté vers le flux des coms de chaque article pour pas avoir l'erreur 404.
    C'est possible ?
  • Dans ce cas oui, désactiver l'Url rewrite dans la config avancée devrais suffire non ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    zetrader a écrit:
    1and1
    M'en doutais un peu. Il n'y a qu'avec cet hébergeur que l'url rewrite pose problème pour les flux rss. J'ai le même souci. Et j'ai bien peur que ce soit lié à 1&1 (ou un truc dans le genre) car pour résoudre le problème il suffit de renommer le fichier feed.php en feeds.php, de remplacer ce qui va bien dans le fichier htaccess (me rappelle plus trop en détail ce que j'avais fait) et ça fonctionne. Ce qui est étonnant c'est qu'en simplement renommant le fichier ça fonctionne. ^^ Ce qui me laisse penser que cela ne doit pas trop être lié au fonctionnement de PluXml. Ou alors il y a un truc qui m'échappe et je ne vois pas où...

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • zetraderzetrader Member
    juillet 2010 modifié
    Frédéric a écrit:
    Dans ce cas oui, désactiver l'Url rewrite dans la config avancée devrais suffire non ?
    Oui mais ça me pose un autre problème, sans url rewriting ça rajoute des index.php partout :
    http://forum.pluxml.org/viewtopic.php?id=1824
    ce qui n'était pas le cas dans la 4.3.1 où j'avais des :
    ?article au lieu de index.php?article
    Apparemment c'est assez compliqué à changer pour revenir à des ?article

    Le plus simple serait peut-être de changer juste l'url qui pointe vers le flux par article.
    Pas possible ?
  • Stéphane a écrit:
    zetrader a écrit:
    1and1
    M'en doutais un peu. Il n'y a qu'avec cet hébergeur que l'url rewrite pose problème pour les flux rss. J'ai le même souci. Et j'ai bien peur que ce soit lié à 1&1 (ou un truc dans le genre) car pour résoudre le problème il suffit de renommer le fichier feed.php en feeds.php, de remplacer ce qui va bien dans le fichier htaccess (me rappelle plus trop en détail ce que j'avais fait) et ça fonctionne. Ce qui est étonnant c'est qu'en simplement renommant le fichier ça fonctionne. ^^ Ce qui me laisse penser que cela ne doit pas trop être lié au fonctionnement de PluXml. Ou alors il y a un truc qui m'échappe et je ne vois pas où...
    Pourtant sur le même domaine, j'utilise depuis fin juin le url rewrite avec un nouveau forum utilisant phpbb, ça fonctionne bien, exemple d'url rewrittée :
    http://zetrader.fr/forum-bourse-finance/temoignages-d-un-nouveau-bailleur-locatif-t22.html
    Toutes les url sont rewrittés, par contre j'ai remarqué que les adresses des flux rss sont pas rewrittées, probablement parce que ça ne sert à rien de les rewritter, c'est plutôt pour les sujets (ou les articles pour un blog) que c'est intéressant que ce soit rewritté.

    Mais le type de rewrite est peut-être pas le même je sais pas.
    Mais pour pluxml le rewrite des articles marche bien sous 1and1, le problème touche le rewrite de l'url du flux, qui n'est pas forcément nécessaire.

    Pour en revenir au flux rss du blog, cela ferait changer l'adresse du flux référencé.
    Par exemple feed.php?atom deviendrait feeds.php?atom ?
    un peu gênant quand on a déjà référencé une url de flux dans plusieurs sites, ils risquent de ne pas s'y retrouver, et si je fais une redirection je suis pas sur qu'ils s'y retrouvent non plus pour afficher les liens des derniers articles du flux rss.
  • Salut,

    Bon j'ai le même problème flux Atom + URL rewrite + 1and1 = marche pas ! !
    (je savais bien que j'aurai du migrer chez OVH ;-) ! )

    Donc j'ai arrêté l'URL rewrite ... et là les flux fonctionnent (c'est mes petits utilisateurs qui vont être contents).

    Si on arrive à une solution pour conserver les URL ça m'intéresse.

    Par contre, il y a quelque chose que je n'ai pas compris.
    Quand j'ai installé PluXml, j'ai du ajouter un .htaccess avec la directive suivante :
    AddType x-mapp-php5 .php
    sinon PluXml ne fonctionnait pas ... et maintenant, il semblerait que je n'en ai plus besoin puisque le URL rewrite a créé un nouveau fichier .htaccess qui ne contient pas cette directive ... mais PluXml fonctionne bien ! ? ! ?

    Bonne journée,
    L@u
    http://computing.travellingfroggy.info
  • StéphaneStéphane Member, Former PluXml Project Manager
    La directive AddType x-mapp-php5 .php est spécfique à 1&1 et permet d'activer php5.
    Sans php 5, pluxml ne fonctionne pas et tu auras des messages d'erreur.
    Je ne sais pas s'il y a eu des changements chez 1&1 n'obligeant plus à mettre cette directive.
    Ils sont peut etre passé à php 5 par défaut, car jusqu'à présent c'est la version 4 qui est par défaut (d'où la nécessité de cette directement dans le .htaccess)
    Tu as peut etre installé ton pluxml dans un sous dossier et à la racine de ton site tu as un autre .htaccess

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Autant pour moi.

    Effectivement, j'avais créé un .htaccess à la racine de mon hébergement (qui est encore au dessus de la racine du site) et ca fonctionnait comme ça.
    Mais comme hier soir, 1and1 avait décidé d'arrêter le serveur FTP pour maintenance (sans me prévenir bien sur ) je n'avais pas pu vérifier.

    Désolé d'avoir fait perdre du temps pour rien.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Aucun problème

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Bonjour,

    je rencontre le même problème sur un serveur perso, fraîchement installé et avec la dernière version de Pluxml.

    Quelqu'un a trouvé quelque chose la dessus ?

    Merci
  • \o/

    Il s'agit d'un problème avec la directive MultiViews d'Apache

    En la supprimant, l'url rewriting fonctionne correctement avec les flux RSS.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Ho mais c'est très bien ça.
    Effectivement en rajoutant la ligne suivante dans le fichier .htaccess, les flux marchent chez 1&1
    Options -Multiviews
    
    Un grand merci croque-Odille

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Salut,
    Je "up"la conversion pour rajouter que j'ai eu un problème similaire avec un hébergement mutualisé chez OVH.
    Le flux de commentaire revoyait celui des news.

    La solution ci-dessus a résolu le problème .
  • StéphaneStéphane Member, Former PluXml Project Manager
    Merci Rwan pour se retour qui profitera peut être aussi à d'autres personnes.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • J'avais le meme soucis et ca marche le multi view, peut etre a mettre en wiki ?
Connectez-vous ou Inscrivez-vous pour répondre.