We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 2089
    • 69 Posts
    Bonjour,

    Je viens de passer mon site en mode friendly URL avec utilisation des alias pour les pages.

    Tout se comporte correctement sans rien modifier à l’exception de mon compteur de téléchargement FileDownloadPE.
    Apparement quand je vais dans la base de donnée voir ce qui se passe FileDownloadPE a commencé à créer un nouveau système de comptage basé sur les URL friendly. Ce qui semble logique ... mais ça me pose problème. Je m’explique.

    Par exemple j’ai un fichier à télécharger nommé:
    nonQuadSelector.mcr.zip
    Ce nom était repris dans la base de donnée pour compter les téléchargements.

    Et maintenant quand je le télécharge une nouvelle entrée a été crée dans la base de donnée:
    page-nonQuadSelector.mcr.zip.html (page- est mon prefixe et .html mon suffixe)
    C’est à dire qu’il a commencé à compter avec le nouveau nom friendly URL.

    Très bien. Ca ne me dérange pas mais le soucis c’est que mon interface continue visiblement à pointer sur le premier nom (l’ancien) et donc tout nouveau téléchargement ne se reflète pas sur ma page.

    Voici mon appel actuel pour afficher le compteur sur ma page:
    <h3>Ce script a été téléchargé <strong>[!FileDownloadPE? &action=`count` &id=`[*IDdownload*]`!]</strong> fois.</h3>

    IDdownload est une variable qui contient le numéro d’ID du script (j’ai fait ça pour pouvoir copier le même code pour chaque page.

    Je ne sais pas ce qu’il faut faire pour que ma page affiche le nouveau système de comptage et non l’ancien (ou alors que le système de comptage continue comme avant... pour moi c’est pareil du moment que ça marche)

    Je vais avoir besoin de vos lumières une fois de plus...

    EDIT: il n’y aurait pas moyen de débrancher la réécriture des URL pour les fichiers à downloader ?

    EDIT:
    En fait je crois comprendre ce qui se passe. Dans mon site il faut cliquer sur un lien pour télécharger le fichier:
    <a title="nonQuadSelector" href="[~[*IDdownload*]~]">télécharger</a>

    Quand je me balade avec mon curseur sur ce lien il a été réécrit avec le prefixe et le suffixe.
    http://www.arketip.be/page-nonQuadSelector.mcr.zip.html

    Il est donc logique de FileDowloadPE me crée une nouvelle entrée dans la database. Le script lui-même prend comme argument un Id et donc n’est pas sujet à la réécriture des URL.
    Donc pour solutionner mon problème il faudrait que je puisse conserver le lien original au lieu du lien réécrit par MODx.
    Le hic c’est que j’ignore comment faire ça.
    Actuellement [~[*IDdownload*]~] est automatiquement transformé en un lien friendly URL ce qui dans ce cas précis ne m’arrange pas.
      • 2089
      • 69 Posts
      Si je comprends bien comment fonctionne la réécriture d’URL j’ai l’impression que la solution se toruve dans le fichier .htaccess
      C’est la dedans qu’on trouve les règles de réécriture:
      RewriteEngine On
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


      Je ne sais pas si c’est faisable mais peut être que je pourrais exclure de la réécriture un répertoire MODx.
      Il se fait que tous mes fichiers à downloader se retrouvent dans un document conteneur nommé Downloads.
      Malhureusmeent je ne suis pas certain que ce soit aussi simple car les document à downloader s’identifient par leur numéro d’Id et non l’endroit d’où ils proviennent. Je ne suis pas plus avancé pour l’instant.

      Il n’existe pas juste une actuce pour exclure un lien de la réécriture d’URL?

      Et si je crée un script PHP qui se contente de retourner l’adresse du lien avec le ID, croyez-vous qu’il sera aussi touché par la réécriture d’URL ? (Je suis trop peu avancé en PHP pour juste essayer d’écrire un tel script sans savoir si ça vaut la peine d’essayer)
        • 2089
        • 69 Posts
        J’ai trouvé une solution smiley

        Pour éviter la réécriture d’URL, c’est extrèmement simple: il suffit juste de noter le lien en toute lettre dans le code.
        Ainsi précédement j’utilisais :
        [~[*IDdownload*]~]

        ...qui est un raccourci MODx (note: IDdownload est une variable à moi sans rapport avec le problème)
        Mais si je le remplace par le lien complet sans m’aider de MODx alors ce lien échappe à la réécriture d’URL:
        http://www.votresite.com/index.php?id=[*IDdownload*]

        Alors le lien reste intouché par MODx et Il apparaitra tel qu’il a été écrit.

        Du coups, FileDowloadPE continue d’écrire avec l’ancien nom dans la database et ainsi je récupère le fonctionnement du compteur tel qu’il était avant la réécriture d’URL... Mon problème est résolu.
        Il semblerait que la réécriture d’URL ne soit pas générale mais uniquement appliquée aux liens typiques de MODx comme ceux-ci: [~id~]