<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>analyse log — Forum de PluXml</title>
        <link>https://forum.pluxml.org/index.php?p=/</link>
        <pubDate>Tue, 19 May 2026 03:03:23 +0000</pubDate>
        <language>fr</language>
            <description>analyse log — Forum de PluXml</description>
    <atom:link href="https://forum.pluxml.org/index.php?p=/discussions/tagged/analyse-log/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Le rewrite vers index.php fait ignorer à Apache2 les fichiers en code http 404 et affiche http 200</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7707/le-rewrite-vers-index-php-fait-ignorer-a-apache2-les-fichiers-en-code-http-404-et-affiche-http-200</link>
        <pubDate>Sat, 24 Aug 2024 21:34:02 +0000</pubDate>
        <category>Bogues</category>
        <dc:creator>AmisSH</dc:creator>
        <guid isPermaLink="false">7707@/index.php?p=/discussions</guid>
        <description><![CDATA[<p><strong>Le rewrite vers index.php fait ignorer à Apache2 les fichiers en code http 404 et affiche http 200</strong></p>

<p>Exemple :</p>

<ul>
<li>Une image est ajoutée dans un article, puis, upload avec un mauvais nom.</li>
<li>Un backup réinstallé pour lequel il manquerait des datas.</li>
<li>Un backup réinstallé, pour lequel il manquerait des droits.</li>
</ul>

<p>Je vous propose pour une prochaine mise à jour, de permettre à Apache de renvoyer le code http 404 sur les fichiers qui n'existent pas sur le serveur.</p>

<pre># BEGIN -- Pluxml
Options -Multiviews


RewriteEngine on
RewriteBase /

######################
# In CGI environment #
######################
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
############################
# Début Hack code http 404 #
############################
# PB : Afficher une page avec une image qui n'existe pas sur le serveur Apache2.4 est rewrite par index.php et le code http affiché dans les logs apache2 sera TOUJOURS 200 !
# Le code http 200 devient code http erreur 404 pour les fichiers - images - qui n'existent pas sur le serveur Apache2.4.
# xx.xx.xx.xxx - - [24/Aug/2024:21:21:42 +0200] "GET /data/avatars/amis-sh.png HTTP/2.0" 404 141 "<a href="https://amis-sh.fr/" rel="nofollow">https://amis-sh.fr/</a>" "Mozilla/5.0 (X11; Linux x86_64; rv:130.0) Gecko/20100101 Firefox/130.0"
############################
#
# Première solution :
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
# NE PAS CREER la page 404.php sinon le code http de retour sera 200.
#RewriteRule ^(.*)$ 404.php?$1 [L]
#
# Deuxième solution :
# Always send 404 on missing files in these folders :
RewriteCond %{REQUEST_URI} !^/(data|plugins|themes)/
#
# Troisième solution :
# Toutes les requêtes, à l'exception des fichiers .js, .ico, .gif, .jpg, .png et .css, seront réécrites en index.php :
# RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php [NC,L]
#
############################
# Fin Hack code http 404   #
############################

# Never rewrite for existing files, directories and links :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Réécriture des urls vers index.php affiche toujours un code http 200 :
RewriteRule ^(?!feed)(.*)$ index.php?$1 [QSA,L]
RewriteRule ^feed\/(.*)$ feed.php?$1 [QSA,L]

# END -- Pluxml</pre>

<p>Avez vous une autre approche pour permettre à Apache2.4 d'afficher un code erreur http 404 pour les fichiers qui n'existent pas sur le serveur ?</p>

<p>NB : J'ai remarqué que Apache ne m'affiche pas de message du type " File not exist / File not found " dans les logs.<br />
Ici, j'ai renommé l'image amis-sh.png pour vérifier le code .htaccess , mais, je n'ai que le code erreur 404, sans le message "File not exist". <br />
xx.xx.xx.xxx - - [24/Aug/2024:21:21:42 +0200] "GET /data/avatars/amis-sh.png HTTP/2.0" 404 141 "<a href="https://amis-sh.fr/" rel="nofollow">https://amis-sh.fr/</a>" "Mozilla/5.0 (X11; Linux x86_64; rv:130.0) Gecko/20100101 Firefox/130.0"<br />
Savez vous si cela est le comportement par défaut de Apache2.4 ?<br />
Il doit être possible de changer le format des logs pour afficher un message du type "File not exist".<br />
Je n'ai pas trouvé de réponse pour le moment, et, je dois me contenter de l'erreur code http 404.</p>

<p>Merci de vos avis.</p>
]]>
        </description>
    </item>
    <item>
        <title>[plugin] Pistez et découvrez vos 404</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7185/plugin-pistez-et-decouvrez-vos-404</link>
        <pubDate>Mon, 30 May 2022 17:00:22 +0000</pubDate>
        <category>Plugins</category>
        <dc:creator>gcyrillus-nomade</dc:creator>
        <guid isPermaLink="false">7185@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Voici un plugin qui ne fait rien d'autre que d'enregistrer le nombre de vues de vos pages d'erreur 404, la ressource demandée, l'origine si il y en a une, le nom de l'agent/navigateur ainsi que l'IP et la date.</p>

<p>Pour être complétement efficace, il faut modifier une valeur laisser vide par PluXml afin de ratisser toutes les URL menant nul part vers la page d'erreur 404 au lieu de la page d'accueil (pour en savoir plus, voir le sujet : <a href="https://forum.pluxml.org/discussion/7173/resolu-gestion-des-erreurs-pages-introuvables#latest" rel="nofollow">https://forum.pluxml.org/discussion/7173/resolu-gestion-des-erreurs-pages-introuvables#latest</a> )</p>

<p>Adresse de téléchargement  du plugin <a href="https://github.com/gcyrillus/plx_what_tze_404/archive/refs/heads/main.zip" rel="nofollow">https://github.com/gcyrillus/plx_what_tze_404/archive/refs/heads/main.zip</a></p>

<p><strong>Il peut-être surprenant de voir quelle sont les URLs que certains visiteurs ou robots ont tentés d'atteindre.</strong></p>

<hr />

<div>
<h2>Aide du plugin</h2> 
<h3>Configuration</h3>
  <p>Elle demande deux actions:</p>
  <ul>
    <li> <b>L'une</b> , consiste à intégrer le hook dans la page d'erreur de votre thème de façon à comptabiliser son affichage, à en extraire l'adresse recherché par le visiteur, son origine si il y a,  son IP et l'agent (navigateur ou robot ) </li>
    <li> <b>l'autre</b> est a effectué sur un fichier du coeur de PluXml qui vous permettra de rediriger toutes les adresses obsolètes ou inconnue pointant sur votre site vers la page d'erreur <b>au lieu de la page d'accueil.</b> </li>
  </ul>
  <h3>modification du fichier <code>erreur.php</code> du thème </h3>
  <p>Pour enregistrer les information menant à cette page d'erreur, il suffit d’insérer dans le fichier <code>erreur.php</code> de votre/vos thème le code suivant:<br />
<code>&lt;?php if (eval($plxMotor-&gt;plxPlugins-&gt;callHook('get404'))) return; ?&gt;</code><br /> en ajout comme dernière ligne.</p>
  <h3>Modification du coeur de PluXml</h3>
<p><b>Cette modification n'est pas nécessaire si vous installer et activer conjointement ce plugin <a href="https://github.com/gcyrillus/plxNewMode" rel="nofollow">https://github.com/gcyrillus/plxNewMode</a> , il se chargera lui même d'injecter la modification sans modifier aucun fichier.</b></p>
  <p>Cette opération est minime et ne necessite pas de compétence particuliere, sauf celle de bien repéré la ligne 132 dans le fichier <code>plx.class.motor.php</code> qui se trouve dans le répertoire <code>core/lib/</code> de PluXml.</p>
  <p> Cette ligne contient le code suivant:<br />
    <code>      if(!empty($this-&gt;get) and !preg_match('#^(?:blog|article\d{1,4}/|static\d{1,3}/|categorie\d{1,3}/|archives/\d{4}(?:/\d{2})?|tag/\w|page\d|preview|telechargement|download)#', $this-&gt;get)) { $this-&gt;get = ''; }</code></p> 
  <p>Pour  rapatrier toutes les mauvaises url  vers la page d'erreur, il faut remplir une valeur que PluXml ne fait pas (encore). <br />Le plus pertinent est d'utilisé le mot 'error' comme valeur. <br />Il suffit donc de remplir cette valeur manquante en fin de ligne <code>$this-&gt;get = '';</code>.<ins>"modeLess" peut aussi être pertinent et collé plus au *mode* de fonctionnement de PluXml</ins></p>
<p>  Notre ligne modifiée devient alors:<br />
    <code>      if(!empty($this-&gt;get) and !preg_match('#^(?:blog|article\d{1,4}/|static\d{1,3}/|categorie\d{1,3}/|archives/\d{4}(?:/\d{2})?|tag/\w|page\d|preview|telechargement|download)#', $this-&gt;get)) { $this-&gt;get = 'error'; }</code></p>
  
  <p>
    <b>c'est tout et maintenant</b> toutes les pages,dossiers,fichiers inexistants redirigeront vers votre page d'erreur vous permettant ainsi de découvrir les adresses que robots ou visiteurs ont utilisés sans succès
    </p> 
<hr />
</div>
]]>
        </description>
    </item>
    <item>
        <title>Plugin Goaccess pour les stats du site</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7042/plugin-goaccess-pour-les-stats-du-site</link>
        <pubDate>Tue, 10 Aug 2021 15:41:07 +0000</pubDate>
        <category>Plugins</category>
        <dc:creator>griffon</dc:creator>
        <guid isPermaLink="false">7042@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour à tous,<br />
Pour le site de mon client, loriginal-location.fr,  (développé avec Pluxml), j'ai réalisé un plugin permettant de produire et d'afficher des rapports Goaccess sur la log de mon hébergeur (OVH).<br />
Ce plugin fonctionne sur Apache-PHP UNIX et sur Windows. <br />
Fontionnalités : 1 sélection des journées de log à analyser;  2  possibilité d'avoir uniquement les bots ou au contraire de les ignorer;  3- utilisation des base de données free de géolocalisation de maxmind (mmdb city ou country seulement) 4- sélection des requêtes portant sur les pages du site (fonction sitemap.php) ou sélection toutes requêtes <br />
Tester avec goaccess 1.5.1, pluxml 5.8.7 et PHP 8 (doit fonctionner sans pb en PHP 7 et moins)<br />
Pour windows suppose l'installation de wsl et téléchargement d'un unix (debian par ex.) du microsoft store<br />
Nécessite de compiler Goacces sur la plateforme utilisée.<br />
Je peux le mettre à dispo et donner plus de détail techniques si des pluxmliens sont intéressés.</p>
]]>
        </description>
    </item>
   </channel>
</rss>
