Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 13/01/2011 20:33:28

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Module Gallery : éviter les 404 inutiles

J'ai très récemment eu l'occasion de faire le point sur les logs d'erreur d'Apache pour mon serveur qui, je rappel pour les néophytes, n'est ni plus ni moins qu'une liste d'erreur qu'a pu rencontrer l'un de mes sites.

404 not found, 401 autorisation refusée, tout y était.

J'ai donc commencé à corriger de très / trop nombreuses erreurs, des liens brisés, des inclusions de fichier js et css qui se faisaient très mal, ...

Je passe ainsi de +300 erreurs référencées toutes les deux heures à +300 erreurs référencées toutes les 20 heures (m'auto-applaudit par ce que sinon personne va le faire)

et là je tombe sur un os.

plus de 75% des erreurs restantes sont des 404 not found issue d'une série de gallerie photo sous le module Gallery de CmsMadeSimple, plus précisément dans sa gestion des miniatures.

En effet le module Gallery à tendance à renommer les miniatures, non pas selon le nom ou le hash du nom de l'image source, mais de façon incrémentielle ce qui fout la merde dès qu'il vous prend l'envie de rafraichir les miniatures car leur nom changera automatiquement et laissera derrière elles une multitude de lien KO dans le cache de google, dans le cache des navigateurs, ... et je ne parles pas des personnes ayant potentiellement linkée ces miniatures à l'extérieur de votre site pour en faire leur avatar, l'inclure dans une signature, ...

bref c'était la merde, et ca l'était encore plus lorsque l'on a tenté de mettre à jour les galeries en regroupant des galeries par année et non plus sous un seul répertoire.

Du coup j'ai cherché une solution viable pour ne plus afficher de 404 dans mes logs d'erreurs tout en indiquant à ceux/celles qui tombe sur un lien brisé vers une image que celle ci à disparue.

un code retour 301 : déplacé définitivement est renvoyé pour éviter de conserver un cache google erroné wink

la solution nécessite l'activation de la réécriture par Apache avec son fameux mod rewrite.

créer un fichier _404.jpg qui sera l'image renvoyée pour tout affichage d'une image innexistante.

créer un .htaccess et y écrire ceci.

Options +FollowSymLinks
RewriteEngine on
RewriteBase /uploads/images

# Redirige tous 404 de type image vers l'image dédiée
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule \.(gif|jpe?g|png|bmp)$ _404.jpg [R=301,NC,L]

# Redirige toutes les autres 404 vers la page d'index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule $ index.html [R=301,L]

Tout déposer : .htaccess + image de la 404 dans le répertoire /uploads/images de votre installation.

Si vous souhaitez le mettre autre part, pensez à modifier la 3ème ligne en conséquence.

Dès que c'est déposé, toutes les images inexistantes afficheront votre image _404.jpg et ne pollueront plus votre log d'erreur (puisqu'au final ce ne sont pas des erreurs en tant que telle). Pensez à créer un index.html vide dans le même répertoire si celui ci n'existe pas encore.

Exemple : www point alpha-team point fr/uploads/images/blabla/56254636.jpG

exemple 404

Hors ligne

 

#2 13/01/2011 21:57:38

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Re : Module Gallery : éviter les 404 inutiles

Plop : corrigé, maintenant ca renverra même un code 301 pour google.

curieusement ce n'est pas possible de renvoyé un code 404 hmm

enfin c'est déjà ca de fait smile

Hors ligne

Pied de page des forums

  Flux Rss Twitter FaceBook