Aneffet. Merci Katryne.
Bon, ben, problème réglé !
Dommage qu'on soit dans le typique effet ping pong où "c'est pas moi, c'est eux" de la part de cloudflare, peut-être accepteront-ils de faire un effort si assez de signalements remontent.
Regarde sur le forum anglais : un autre que toi implique cloudflare pour la même histoire sur mobile : https://piwigo.org/forum/viewtopic.php?id=32457
OK, j'ai peut-être trouvé l'origine du problème.
Cloudflare. Ils ont une option en beta, nommée Mirage. Quand je le désactive, ça semble refonctionner, plues aucune URL n'est réécrite à tort...
Je ne garantis pas encore, c'est tout frais là, et il est trop tard pour insister cette nuit.
Ah, bien pensé, ça aurait pu être lié !
Dans les deux cas, Katryne, les piwigo sont dans un sous-dossier de public_html, la racine publique du domaine. Dans le premier cas il y a un blog wordpress à la base, dans le second il y a juste un .html ultra-basique sans le moindre htaccess, c'est mon bac à sable privé. (C'est pour ça que j'espérais que copier le .htaccess du domaine à problème vers le domaine sans problème aurait recréé le problème, au moins on aurait eu un coupable, mais non).
Je suis tenté de tricher en contournant le problème, en le laissant en place mais en annulant ses effets, avec un redirect 301 dans un .htaccess, qui remplacerait l'URL relative "index.php?/category/_data/i/upload/" par l'URL absolue "(home)_data/i/upload/"
Ou encore, avec l'avantage d'être des URLs 100% relatives, un
RewriteEngine on
RewriteRule ^index.php?/category/_data/i/upload/$ /_data/i/upload/ [R=301,L]
(en touchant du bois pour que, écrit sur le pouce, ça ait été correctement rédigé !)
... Mais ça risque de créer ses propres problèmes derrière, et si ça cassait d'autres URLs que je ne connais pas encore -_-
Olivier, la différence avec le site qui marche : serait-il à la racine de l’hébergement, alors que ceux qui marchent pas sont dans des sous-dossiers ?
C'est pas que j'aurais une solution, je compare juste les 2 installs.
Sur 2 de mes sites qui sont pas des piwigos, j'avais des pbl avec celui en sous-répertoire : il a fallu que j'ajoute le nom du sous-répertoire dans l'adresse d'une image pour qu'elle s'affiche. Tandis que y avait pas besoin de ça pour le site placé à la racine de l'hébergement.
Edit : je cause d'adresses relatives, là.
Bonjour,
Je ne comprends pas d'où vient un problème qu'on m'a signalé, au début je blâmais Smart Pocket avant de réaliser que, non, ça n'était pas le thème.
*
Nature du bug :
Uniquement en vue mobile, dans l'index d'un album piwigo (par ex index.php?/category/1), les miniatures ne s'affichent pas, parce que l'URL de leurs images est réécrite incorrectement, avec un ajout en trop de "index.php?/category/"
*
Environnement serveur :
Debian Buster, webmin+virtualmin, php7.4.33, MariaDB 10.3.36.
Piwigo version 13, mais c'est peut-être plus ancien, aucune idée
*
Environnement utilisateur :
Sur mobile, android 13, Smart Pocket est le thème mobile, dans Chrome et dans Firefox
Sur desktop, PCs windows 10 et Apple, Firefox, Chrome, Safari
*
J'ai découvert récemment un problème de miniatures ne s'affichant pas quand un album (n'importe-lequel) est vu sur téléphone mobile (au moins, android 13 en tous cas), tandis qu'elles s'affichent correctement sur desktop.
En demandant au navigateur d'ouvrir l'image dans un nouvel onglet, et copiant l'URL, on voit une différence.
Sur desktop, on a ce format d'URL pour les miniatures, qui fonctionne : (home)_data/i/upload/2023/01/07/20230107150547-788b5491-xs.jpg
Sur mobile, on a ce format d'URL pour les miniatures, qui est une erreur 404 : (home)index.php?/category/_data/i/upload/2023/01/07/20230107150543-35e573ec-xs.jpg
En somme, il y a un rajout non-souhaité de "index.php?/category/" dans la version mobile. Si je supprime "index.php?/category/" de l'URL en 404 d'une miniature dans le navigateur de mon téléphone, ça remarche, ça charge l'image.
*
Au début je blâmais le thème Smart Pocket, mobile par défaut.
Mais en désactivant Smart Pocket et Elegant, en activant Modus, pour être sûr que ce soit le Modus mobile qui réponde aux requêtes des téléphones, le problème est identique.
Donc, ça n'est pas la faute au thème.
*
J'ai cherché comment reproduire ou éliminer le bug, avec des résultats étranges.
Même site web, un piwigo tout neuf dans un autre sous-dossier : même bug.
Autre site web, hébergé sur le même serveur cela dit, un piwigo tout neuf : là, le bug n'est PAS présent.
Je me dis "peut-être la faute au .htaccess requis par wordpress", je copie donc ce même .htaccess sur l'autre site web avec son piwigo qui ne bugge pas : toujours pas le bug.
Si jamais c'est utile, je peux quand même copier le contenu de l'.htaccess :
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN iThemes Security - Do not modify or remove this line
# iThemes Security Config Details: 2
<IfModule mod_rewrite.c>
RewriteEngine On
# Disable PHP in Uploads - Security > Settings > System Tweaks > Uploads
RewriteRule ^blog/wp\-content/uploads/.*\.(?:php[1-6]?|pht|phtml?)$ - [NC,F]
</IfModule>
# END iThemes Security - Do not modify or remove this line
*
EDIT : un test supplémentaire : j'ai rajouté un fichier .htaccess dans le dossier hébergeant un piwigo qui a ce bug, contenant juste "RewriteEngine off", afin d'ignorer totalement des éventuelles règles rewrite héritées : aucun changement
EDIT 2 : autre test,
- si on demande à notre navigateur mobile d'afficher la version desktop, le problème disparaît, les miniatures s'affichent
- dans un album piwigo, il y a le choix entre mobile et desktop, quand on est un visiteur mobile : cliquer pour avoir la vue "desktop" ne règle pas le problème, les miniatures sont toujours avec la mauvaise URL pour leur image
- j'ai tenté en désactivant totalement le thème Smart Pocket, ainsi que le thème Modus, pour que Piwigo délivre la version Desktop de son thème à tout le monde. Le problème est demeuré le même, dans le navigateur mobile de téléphone on a désormais une vue de desktop, mais les miniatures ont toujours le même problème
*
Et j'en suis là de mes investigations.
Pas la moindre idée de pourquoi l'URL de l'image des miniatures est incorrectement réécrite avec "index.php?/category/" uniquement sur mobile, et pas sur tous les piwigo.
Quelqu'un aurait-il une idée, s'il vous plaît ? Merci énormément si vous pouvez aider !!