<?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>erreur 404 — Forum de PluXml</title>
        <link>https://forum.pluxml.org/index.php?p=/</link>
        <pubDate>Mon, 18 May 2026 18:38:18 +0000</pubDate>
        <language>fr</language>
            <description>erreur 404 — Forum de PluXml</description>
    <atom:link href="https://forum.pluxml.org/index.php?p=/discussions/tagged/erreur-404/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>Redirections</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7279/redirections</link>
        <pubDate>Wed, 19 Oct 2022 07:12:59 +0000</pubDate>
        <category>Entraide</category>
        <dc:creator>koopa90</dc:creator>
        <guid isPermaLink="false">7279@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour à tous,</p>

<p>Voici la config de mon site</p>

<ul>
<li>PluXml 5.6</li>
<li>MyBetterUrls activé</li>
<li>Réécriture d'url activée</li>
</ul>

<p>Voici mon fichier .htaccess</p>

<pre><code>RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{HTTP_HOST} ^www.mon-site.net$
RewriteRule ^(.*) https://mon-site.net/$1 [QSA,L,R=301]


# BEGIN -- Pluxml
Options -Multiviews
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Réécriture des urls
RewriteRule ^(?!feed)(.*)$ index.php?$1 [QSA,L]
RewriteRule ^feed\/(.*)$ feed.php?$1 [QSA,L]
&lt;/IfModule&gt;
# END -- Pluxml
</code></pre>

<p>J'ai supprimé certaines catégories et certains articles de mon site et afin d'éviter les erreurs 404, je les redirige.<br />
Le problème, c'est que ma page redirigée récupère le nom de l'ancienne page et l'ajoute dans l'url après un "?".</p>

<p>Voici un exemple, cela sera plus parlant</p>

<p><code>RedirectPermanent /ancienne-page /nouvelle-page</code></p>

<p>Me donne : https:// mon-site.net/nouvelle-page?ancienne-page<br />
Et me génère une erreur 404.</p>

<p>Pouvez-vous m'aider ?<br />
Merci</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>[RÉSOLU] Page 404</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/6880/resolu-page-404</link>
        <pubDate>Sun, 08 Nov 2020 18:14:56 +0000</pubDate>
        <category>Bogues</category>
        <dc:creator>TPHPFR</dc:creator>
        <guid isPermaLink="false">6880@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour,</p>

<p>Tout d'abord, bravo pour ce petit CMS qui est vraiment bien pratique à utiliser :-)</p>

<p>Je vous contacte car je me suis aperçu d'un petit "bug" sur PluXml</p>

<p>En effet, si nous accédons à une mauvaise URL (ex : monsite.com/toto), la page d'accueil du site est renvoyée, en code 200, ce qui génère de la duplication de contenu, ce qui n'est donc pas super pour les moteurs de recherches.</p>

<p>Pour info, je suis sur PluXml v 5.8.4</p>

<p>Savez vous comment il est possible de corriger ce problème ?</p>

<p>Merci d'avance pour votre aide.</p>

<p>Cordialement,</p>

<p>Thomas</p>
]]>
        </description>
    </item>
    <item>
        <title>[RESOLU]Erreur 404 sur toutes les pages après transfert de sauvegarde</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/6859/resolu-erreur-404-sur-toutes-les-pages-apres-transfert-de-sauvegarde</link>
        <pubDate>Fri, 23 Oct 2020 07:47:02 +0000</pubDate>
        <category>Entraide</category>
        <dc:creator>petitpouyo</dc:creator>
        <guid isPermaLink="false">6859@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Salut à tous,<br />
suite à un changement d'hébergeur j'ai tout simplement copier/coller tous mes fichiers pluxml, ceci dit ma page d'accueil s'affiche sans soucis avec les articles présents aussi mais dès lors que je clique sur un article ou une page statique comme "Qui je suis" ou encore "Me Contacter" j'ai tout bonnement une magnifique erreur 404.</p>

<p>Le lien du site en question: petitpouyo.fr</p>

<p>EDITO: J'ai réussi à corriger le problème en désactivant la réécriture des URL et en la réactivant tout de suite après.<br />
Sûrement un soucis avec le fichier .htaccess, je laisse la solution à mon problème ici, ça pourrait servir à d'autres.</p>

<p>A bientôt sur PluXml ! <img src="https://forum.pluxml.org/plugins/emojiextender/emoji/twitter/bleep_bloop.png" title=":bleep_bloop:" alt=":bleep_bloop:" height="18" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Modification d'url avec la nouvelle version de PluXml</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/6776/modification-durl-avec-la-nouvelle-version-de-pluxml</link>
        <pubDate>Sun, 21 Jun 2020 19:05:17 +0000</pubDate>
        <category>Bogues</category>
        <dc:creator>zetrader</dc:creator>
        <guid isPermaLink="false">6776@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour, j'ai migré mon contenu de la 5.7 vers la 5.8.3, et je me retrouve avec des urls qui font des erreurs.<br />
Motif : la dernière version de PluXml a visiblement une fonction "intelligente" qui se permet de supprimer le mot "en" (et peut-être d'autres mots ?) lors de sauvegarde d'articles ou pages statiques. Ce qui fait par exemple que si il y avait gagner-en-bourse dans l'url, cela devient gagner-bourse après modification ou nouvelle sauvegarde de l'article ou la page statique. Avec MyBetterUrls qui veut une url "stricte", c'est un problème puisqu'on se retrouve avec une erreur 404.</p>

<p>Ce ne serait pas un gros problème si l'interface admin laissait modifier l'url à la main comme c'était le cas avant, mais dès lors qu'on rajoute le "en" à la main dans l'url puis on sauvegarde, cela saute à chaque fois, il refuse de garder cette modification d'url manuelle.<br />
Donc si on veut conserver nos urls, il faut alors supprimer le fichier xml (article) ou php (page statique) et uploader l'ancien fichier, mais pour la page statique c'est plus problématique, elle n'apparaîtra plus dans la liste des pages statiques côté admin (peut-être du fait d'avoir le mot "interdit") et ne sera pas non plus accessible sur le site, ou renommer le fichier xml via un logiciel FTP pour les articles, parce que pour les pages statiques qui sont des fichiers php, visiblement c'est foireux, ce ne sera pas accessible sur le site ni en admin.<br />
Enfin bref, le CMS vient apporter des difficultés pour une supposée fonction intelligente qui vient mettre le bordel quand avant ce n'était pas un problème.<br />
On fait comment pour désactiver cette nouvelle fonction de "correction/optimisation d'url" ?</p>

<p>Sinon ça oblige soit à adapter toutes les urls, soit à ne plus toucher à ces articles ou pages statiques via l'éditeur PluXml, éditer à chaque fois en externe pour éviter les modifications d'url...</p>

<p>EDIT : je vois que cela le fait pas seulement avec "en" mais aussi avec :</p>

<ul>
<li>"de" ou "des", "un" ou "une", "le" (mais pas "les" bizarrement..) ou "la", "vers", "du" (où est la liste complète ? J'en découvre régulièrement), et même chose, l'interface empêche de corriger à la main l'url, si on corrige en modifiant l'url via l'interface cela refuse de garder les changements, cela supprime de toutes façons ces mots de l'url, donc pas mal d'erreurs 404 en perspective.</li>
</ul>

<p>EDIT 2 : Après test, je vois que cela le fait aussi pour les catégories, suppression de certains mots des url des catégories, quand on sauvegarde après création d'une nouvelle catégorie, donc d'autres erreurs 404 du côté des catégories.</p>
]]>
        </description>
    </item>
   </channel>
</rss>
