urlRewrite et le caractère ":" ?

HamtaroHamtaro Member
avril 2011 modifié dans Bogues
Yop

Je suis en train d'adapter un thème pour mon blog. En local, pas de soucis mais dès que je suis passé sur mon hébergeur... Aie aie...

En fait le problème se situe au niveau des liens et des images.

Sur la home : AUCUNS SOUCIS ! Nickel, c'est joli ! :D
Sur un article, ça se corse : http://www.customtaro.fr/blog/article735/iphone-fix-no-docked-icon-labels-on-winterboard

Par contre avec cette url : http://www.customtaro.fr/blog/?article735/iphone-fix-no-docked-icon-labels-on-winterboard
On revient à un affichage plutôt correct, les images dans le corps de l'article s'affiche et le lien ne double pas le chemin (dans la sidebar entre autres, dès que le nom de l'article comporte un ":")

Les images ne s'affichent pas parce que :
- un coup elles sont en http:// et ça va aller
- un coup elles sont en /data/images et ça va bugger
Et vice versa...

Je deviens chèvre... Je pense que je dois avoir un souci au niveau de ma conf sur l'hébergement OVH.
En local avec MAMP (et urlrewrite activé) pas de soucis... Help... :p

Edit : exemple plus flagrant dans la liste des articles par catégorie :
http://www.customtaro.fr/blog/categorie1/
Si vous regardez dans le code (ou au survol de la souris) les liens correspondant aux titres font n'importe quoi... :/

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    essaye de remplacer /data/images par data/images

    Consultant PluXml

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

  • HamtaroHamtaro Member
    avril 2011 modifié
    Nan le souci est pas vraiment là...

    C'est plutôt sur les liens... Tous les chemins semblent être doublé de la racine du blog... oO

    Est ce que mon utilisation détournée de cette fonction pourraient en être la cause ?
    <?php $plxShow->lastArtList('<li><a href="#art_url" rel="bookmark" title="Lien vers #art_title"><img class="img_dock" title="#art_title" src="../themes/magazeen/php/timthumb.php?src=#art_chapo&w=69&h=54&zc=1" width="69px" height="54px" alt="" /></a><span class="view-large">#art_title</span></li>', $max=9); ?>
    
    J'ai vraiment l'impression que ":" dans un titre fout la m?!$e...
    Mes titres sans les ":" ont une bonne url... oO
  • StéphaneStéphane Member, Former PluXml Project Manager
    piste à creuser alors si le caractère : dans les titres est le problème

    Consultant PluXml

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

  • Je viens de regarder et c'est vraiment bizarre ce comportement...

    Tu as une petite idée ? C'est pas mon utilisation du chapo qui engendre tout ça ?
    Ni du script de miniature timthumb ?

    En tout cas, ça m'énerve... Tout est nickel en local...

    Voici mon .htaccess au cas ou :
    # BEGIN -- FeedBurner
    RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/Customtaro [R=302,NC,L]
    # END -- Feedburner
    # BEGIN -- Pluxml
    Options -Multiviews
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /blog/
    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
    
  • Autre erreur : mes images sont bien de la forme "http://"; et présentes
    Mais PluXml me supprime tout ça et met en "data/images" pour certaines... Je comprends rien... J'ai fait trop de bidouilles dans mon thème ? (Abus de php if...)

    Pourtant la home tourne sans aucuns problèmes... Tous les chemins, images, liens et autres sont bons...
  • Suite de mes aventures :

    J'ai modifié mon thème pour qu'il soit complètement fonctionnel sans urlRewrite. Tout est bon...
    Par contre dès que j'active, le rewrite en partie admin de PluXml : oulalala... :p

    Bref, ça confirme encore un peu plus un souci de ce côté là... :)

    Ha, au fait, je suis sous Pluxml 5.1 beta 1 ;)
  • StéphaneStéphane Member, Former PluXml Project Manager
    si tu as de problèmes avec l'url rewriting coté admin, alors cela ne vient pas de pluxml, car il n'y aucune gestion de la réécriture d'url dans l'admin.

    Consultant PluXml

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

  • Humpfff

    On se rapproche petit à petit du problème... :p
    L'activation en partie admin engendre quoi alors ? L'activation du .htaccess ? (parce que moi, il est toujours en place, activé ou non dans la partie admin)
  • StéphaneStéphane Member, Former PluXml Project Manager
    quand tu actives l'url rewriting ça créer le fichier htaccess. quand tu le désactives cela ne supprime pas le fichier (au cas ou tu aurais mis dedans des directives personnelles), les url ne sont juste pas réécrites coté visiteur. si tu as besoin de garder ton htaccess, supprime dedans le pavé dédié à PluXml pour voir si tu as toujours des soucis.

    Consultant PluXml

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

  • HamtaroHamtaro Member
    avril 2011 modifié
    Ok ok

    Bon bin, ce doit être un problème de mon hébergeur avec l'url rewriting... Ca bug sacrément...
    M'enfin bon, j'ai tout désactivé et ça roule... Les urls me plaisent pas trop mais bon...

    Du coup, j'ai un souci avec mon moteur de recherche personnalisé google... Vu que l'envoi vers ma page statique comprend un "?" (/?static2/) et bin la recherche se fait pas... Google utilise également un "?" et ça coupe au plus court donc il va pas chercher la statique...

    Autre souci, qui est en fait une requête, j'avais piqué un petit bout de code de .htaccess d'astuce pour Wordpress afin de rediriger mon flux Pluxml vers celui de mon Feedburner comme marqué plus haut... Sauf que ça marche plus (forcément) et j'ai du mal à manipuler les expressions régulières... Ca marche jamais...
    Tu crois que tu pourrais me pondre ce petit bout de ligne... :p (du coup c'est index.php?rss qui est redirigé...)

    Merci de ton aide en tout cas... Ce serait bien de voir également si d'autres utilisateurs rencontre ce problème avec l'url rewriting... Parce que j'ai testé avec le thème par défaut et j'ai bien la même erreur sur les liens...
    Mon hébergeur est OVH en hébergement mutualisé. ;)
  • StéphaneStéphane Member, Former PluXml Project Manager
    Pour mon site j'ai mis le lien de feedburner directement dans le head de mon thème. Ce peut etre pas utile de s'embeter à mettre la redirection dans un htaccess
    <link rel="alternate" type="application/rss+xml" title="Fil Rss des articles" href="http://feeds.feedburner.com/XXXXXi" />
    

    Consultant PluXml

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

  • C'est ce que je fais habituellement. Je change également les liens en dur dans le template...
    Mais là, j'avais envie de ne pas toucher au template "par défaut" que j'ai fait (complètement out of the box pour tout utilisateur), c'est pourquoi j'avais pensé à cela, plus besoin de s'embêter à modifier tous les liens du template ;)

    M'enfin, si la chose est trop dure pour toi... Gnark gnark gnark... :p
  • En trainant mes pattes sur les forums OVH, j'ai à peu prêt saisi que le caractère "?" posait problème pour l'url rewriting dans le .htaccess et qu'il fallait le contourner par une bidouille en php...

    http://forum.ovh.net/showthread.php?t=19964

    Je cherche toujours une solution... Je ne désespère pas ^^
  • HamtaroHamtaro Member
    mai 2011 modifié
    J'ai refait une install de base...
    J'ai créé des nouveaux articles, histoire de ne pas utiliser ma base si mes fichiers sont corrompus...

    Résultats : http://customtaro.fr/test/5.1/

    Il y a bien un souci avec les ":"... J'ai le droit d'aller pleurer dans un coin ? :p

    Bref, je ne sais pas du tout comment trouver une solution à ce problème...
    C'est quand même bizarre que je sois le seul sous OVH à avoir ce problème, je dois avoir une merdouille quelque part, un .htaccess qui se cache, une config de php foireuse, je sais pas...

    Si certains veulent se pencher sérieusement sur l'affaire, j'ai mis un phpinfo en ligne, je peux communiquer l'adresse...

    Voilà voilà ! A votre bon coeur ! ;)

    Edit : je précise que l'install est vraiment "fraiche", je n'ai rien éditer à l'éditeur de texte histoire de ne pas passer à côté d'une sauvegarde en format pourri ou je ne sais quoi...
    En client FTP, j'utilise Transmit sous Mac... Vous voulez la taille de mon caleçon ? ;)
  • GesimoGesimo Member
    Il y a effectivement un problème avec la caractère ":" dans les liens. Ce problème se pose dans les "Lire la suite de : ..." pour moi. J'ai enlevé le ":" et plus de problème.

    Maintenant je ne suis pas assez calé pour pouvoir t'aider Hamtaro. Je voulais juste confirmer tes propos. :)
  • HamtaroHamtaro Member
    Gesimo a écrit:
    Il y a effectivement un problème avec la caractère ":" dans les liens. Ce problème se pose dans les "Lire la suite de : ..." pour moi. J'ai enlevé le ":" et plus de problème.

    Maintenant je ne suis pas assez calé pour pouvoir t'aider Hamtaro. Je voulais juste confirmer tes propos. :)
    OMG !!!!!

    Un grand merci à toi ! :p
    J'étais pas loin de devenir fou !

    Maitenant, faut que le grand manitou reproduise également le bug et on pourra voir si Pluxml est en cause ou non...

    Tu es également chez OVH ? (Pitié, dis moi non... :p)
  • GesimoGesimo Member
    Non, je suis chez One. Quelqu'un d'autre a eu le même problème que moi et a mis en cause le ":" aussi. La discussion se trouve dans le topic officiel de la beta 5.1 (http://forum.pluxml.org/viewtopic.php?id=2233&p=4) c'est Rwan qui introduit le problème de lien des "Lire la suite de : ..." et pense après que c'est dû au ":", malheureusement pas de solution en vue non plus.
  • HamtaroHamtaro Member
    Voilà une bonne chose !

    L'équipe va pouvoir se pencher là dessus ^^
  • StéphaneStéphane Member, Former PluXml Project Manager
    Hamtaro a écrit:
    Voilà une bonne chose !

    L'équipe va pouvoir se pencher là dessus ^^
    oui tout a fait

    Consultant PluXml

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

  • HamtaroHamtaro Member
    mai 2011 modifié
    La solution a été trouvé ici : http://forum.pluxml.org/viewtopic.php?pid=18118#p18118
  • StéphaneStéphane Member, Former PluXml Project Manager
    hum me parait bizarre cette ligne. rempalcer le caractère : par :
    y pa

    Consultant PluXml

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

  • StéphaneStéphane Member, Former PluXml Project Manager
    hum me parait bizarre cette ligne. remplacer le caractère : par :
    y pas une erreur ?

    sinon plus radical (ce que j'ai fait pour la prochaine version) dans le fichier core/lang/fr/core.php, c'est remplacer
    'L_ARTCHAPO'					=> 'Lire la suite de : #art_title',
    
    par

    'L_ARTCHAPO'					=> 'Lire la suite de #art_title',
    

    Consultant PluXml

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

  • Yop,

    Le remplacement du : n'était qu'un contournement. J'ai trouvé la vrai cause il me semble.

    Il s'agit de la ligne 563 de class.plx.utils.php
    $html = preg_replace('@\<([^>]*) (href|src)="'. $base . '([^>]*)(:[0-9]*)([^":]*)"@i', '<\1 \2="\3\4\5"', $html);
    
    A remplacer par:
    $html = preg_replace('@\<([^>]*) (href|src)="'. $base . '([^>]*)(:[0-9]*)([^":]*)"@i', '<\1 \2="'. $base. '\3\4\5"', $html);
    
  • HamtaroHamtaro Member
    Effectivement, mes problèmes sont réglés juste en faisant la manip indiqué par Valerian. ;)

    Merci !
  • StéphaneStéphane Member, Former PluXml Project Manager
    Merci pour ton aide Valérian.
    On va faire quelques tests pour valider ton patch et si c'est ok, elle sera inclue dans la prochaine release.

    Merci !

    Consultant PluXml

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

  • amowebamoweb Member
    Je propose plutôt
    $html = preg_replace('@\<([^>]*) (href|src)="'. $base . '([^"]*)(:[0-9]*)([^":]*)"@i', '<\1 \2="\3\4\5"', $html);
    
    Car, avec la solution de Valérian, les liens mailto: et ftp://test.com:22/fichier.php ne fonctionnent plus.
  • ValérianValérian Member
    mai 2011 modifié
    Euh, c'est une blague ? Tu proposes simplement de remettre ce qu'il y avait avant.

    De plus, $base contentant l'url racine du blog, ça commence donc par http:// et n'aura strictement aucune influence sauf que le preg_replace en ligne 561 vient rajouter la base devant le mailto
    $html = preg_replace('@\<([^>]*) (href|src)="(([^\:"])*|([^"]*:[^/"].*))"@i', '<\1 \2="' . $base . '\3"', $html);
    
    Vous devriez plutôt changer ce regex pour qu'il ne touche pas à des liens mailto et ftp qui ne sont pas des liens relatifs et ne devraient donc pas du tout être modifiés par une fonction chargée de changer les liens relatifs en liens absolus.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Valérian a écrit:
    Euh, c'est une blague ? Tu proposes simplement de remettre ce qu'il y avait avant.
    Tu vas un peu vite dans tes remarques. Si tu regardes attentivement tu verras que le regex proposé par Amaury n'est pas le même que celui actuel dans pluxml. Le caractère " fait toute la différence

    Consultant PluXml

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

  • héhé, effectivement. Mes excuses Amaury
Connectez-vous ou Inscrivez-vous pour répondre.