|
|
Bonjour,
J'ai un site web de photos et je viens de renommer des images en remplaçant 1234.jpeg par prenom_ville.jpeg. Le serveur gère les erreurs 404 en renvoyant sur la home page. Si une image n'existe pas/plus, ce que je souhaiterai c'est que soit renvoyé sur : - Le index.html du dossier dans laquelle elle se trouvait ; ou - L'image avec le nouveau nom. J'ai essayé, veinenement, de rédiger un fichier .htaccess mais c'est toujours la home page qui s'affiche. Exemple de contenus de .htaccess situé dans le dossier Afrique : ErrorDocument 404 /index.html ErrorDocument 404 photo/paris/tout_le_Monde/Afrique/index.html ErrorDocument 404 [..] Rien ne renvoie sur cette page index.html L'idéal serait de renvoyer vers le fichier avec le nouveau nom, mais là, même si Olivier m'a fait découvrir le concept d'Alias, je suis perdu. Comment se nomme le fichier, où je le mets... HTTP/1.1 200 OK Date: Sat, 03 Jun 2017 09:25:07 GMT Server: Apache/2.0.47 (Unix) DAV/2 PHP/5.0.4 Last-Modified: Tue, 24 Jan 2017 16:20:17 GMT ETag: "54155f-13a-7ddc7240" Accept-Ranges: bytes Content-Length: 314 Content-Type: text/html D'avance merci, FU2 vers le newsgroup le plus approprié selon vous. |
|
|
|
Benoit <benoit> wrote:
[..] > ETag: "54155f-13a-7ddc7240" > Accept-Ranges: bytes > Content-Length: 314 > Content-Type: text/html >> D'avance merci, >> FU2 vers le newsgroup le plus approprié selon vous. Déjà une première chose : les fichiers .htaccess que je dépose sont supprimés par le serveur, il ne les affiche pas dans le dossier. J'attends des infos de la part de mon hébergeur. |
|
|
Benoit, dans le message <1n71kqx.eiue0h1sscb5lN%benoit>, a
écrit : > J'ai un site web de photos et je viens de renommer des images en > remplaçant 1234.jpeg par prenom_ville.jpeg. > Le serveur gère les erreurs 404 en renvoyant sur la home page. Si une > image n'existe pas/plus, ce que je souhaiterai c'est que soit renvoyé > sur : > - Le index.html du dossier dans laquelle elle se trouvait ; > ou > - L'image avec le nouveau nom. > L'idéal serait de renvoyer vers le fichier avec le nouveau nom, mais là, > même si Olivier m'a fait découvrir le concept d'Alias, je suis perdu. J'ai envie de dire : très mauvaise idée. Un 404 n'est pas juste là pour fournir l'information cherchée immédiatement, il a aussi pour rôle d'informer à la fois l'utilisateur et les caches que l'information n'est pas là, et permettre ainsi de se remettre à sa recherche. Si le même fichier exactement existe toujours mais est accessible sous une autre URL, et que cette URL est connue, c'est « 301 Moved Permanently » qu'il faut renvoyer, pas « 404 Not Found ». Sinon, on peut envisager une page de 404 dynamique qui consulte un moteur de recherche pour proposer à l'utilisateur des liens vers les pages possibles. Ça peut être fait avec une page 404 dynamique côté serveur ou bien une page 404 statique agrémentée de Javascript. En revanche, avoir une page 404 spéciale ne sert pas à grand chose pour les images, car elle ne serait affichée que quand un visiteur consulte directement l'image. Quand l'image est incorporée à une page, ça n'afficherait que l'icône standard d'image cassée. Un 301 fonctionne, en revanche. Et bien sûr, l'auteur qui renomme un fichier image est censé changer le nom aussi dans les pages du site. |
|
|
Nicolas George <nicolas$george> wrote:
> Benoit, dans le message <1n71kqx.eiue0h1sscb5lN%benoit>, a > écrit : >> J'ai envie de dire : très mauvaise idée. Un 404 n'est pas juste là pour > fournir l'information cherchée immédiatement, il a aussi pour rôle > d'informer à la fois l'utilisateur et les caches que l'information n'est > pas là, et permettre ainsi de se remettre à sa recherche. J'ai cru comprendre qu'avec les alias on pouvait renvoyé une URL vers une autre. C'est ce que je préfèrerai faire. > Si le même fichier exactement existe toujours mais est accessible sous > une autre URL, et que cette URL est connue, c'est « 301 Moved > Permanently » qu'il faut renvoyer, pas « 404 Not Found ». Oui, mais je n'ai pas accès à ça sur le serveur, mon hébergeur ne me donne pas cette possibilité. Ou alors c'est un fichier « texte » que je mets quelque part ? > Sinon, on peut envisager une page de 404 dynamique qui consulte un > moteur de recherche pour proposer à l'utilisateur des liens vers les > pages possibles. Ça peut être fait avec une page 404 dynamique côté > serveur ou bien une page 404 statique agrémentée de Javascript. Hors de mon champ de compétences, connaissances, autorisations sur le serveur... que je sache. > En revanche, avoir une page 404 spéciale ne sert pas à grand chose pour > les images, car elle ne serait affichée que quand un visiteur consulte > directement l'image. Quand l'image est incorporée à une page, ça > n'afficherait que l'icône standard d'image cassée. Un 301 fonctionne, en > revanche. Et bien sûr, l'auteur qui renomme un fichier image est censé > changer le nom aussi dans les pages du site. Mes pages sont générées par un logiciel de création de site de photos, il utilise le nom des images sans pb. Si je change le nom d'une image il me génère un nouveau site et le télécharge sur le serveur. L'image 1234.jpeg est incluse dans une page 1234.html qui contient l'image et tout un tas d'autres choses. Comme le nom de l'image a changé (en benoit.jpeg par exemple), le nom de la page a changé : 1234.html est remplacée par benoit.html. C'est ce que je voudrai pouvoir gérer. P.S. en me relisant je me rend compte que j'ai un peu mélagner les choses puisque je parle d'image et non de page contenant une image. J'espère être plus précis dans le dernier paragraphe. |
|
|
Le 03/06/2017 12:21, Benoit a écrit :
> L'idéal serait de renvoyer vers le fichier avec le nouveau nom, Oui. > mais là, > même si Olivier m'a fait découvrir le concept d'Alias, je suis perdu. Je n'ai pas parlé d'Alias mais de Redirect permanent, même s'il se trouve que les deux se trouvent dans la même doc Apache : <https://httpd.apache.org/docs/2.4/fr/mod/mod_alias.html> <https://httpd.apache.org/docs/2.4/fr/mod/mod_alias.html#redirect> <https://httpd.apache.org/docs/2.4/fr/mod/mod_alias.html#redirectpermanent> |
|
|
Le 04/06/2017 12:35, Benoit a écrit :
> L'image 1234.jpeg est incluse dans une page 1234.html qui contient > l'image et tout un tas d'autres choses. Comme le nom de l'image a changé > (en benoit.jpeg par exemple), le nom de la page a changé : 1234.html est > remplacée par benoit.html. C'est ce que je voudrai pouvoir gérer. .... donc un truc du genre : Redirect permanent 1234.html benoit.html Redirect permanent 1234.jpeg benoit.jpeg Voire peut-être : RedirectMatch permanent 1234\.(.*) benoit.$1 <https://httpd.apache.org/docs/2.4/fr/mod/mod_alias.html#redirectmatch> Note que le mot-clé « permanent » indiqué ici n'est qu'une autre façon de dire que c'est le code 301 qui est envoyé, ainsi que le conseillait Nicolas George. RedirectMatch 301 1234\.(.*) benoit.$1 P.-S. : je ne connais pas la syntaxe exacte, peut-être le / est-il obligatoire, donc : RedirectMatch 301 /1234\.(.*) /benoit.$1 ou : RedirectMatch permanent /1234\.(.*) /benoit.$1 |
|
|
Olivier Miakinen <om+news> wrote:
[..] > RedirectMatch 301 1234\.(.*) benoit. > P.-S. : je ne connais pas la syntaxe exacte, peut-être le / est-il > obligatoire, donc : > RedirectMatch 301 /1234\.(.*) /benoit. > ou : > RedirectMatch permanent /1234\.(.*) /benoit. Merci, mais je mets ça où ? Parce que la doc ne dit rien. En tout cas j'ai envoyé un mail pour savoir pourquoi les fichiers .htacess, que je téléchargeais, n'apparaissaient pas. |
|
|
Le Sat, 3 Jun 2017 12:46:33 +0200
benoit (Benoit) a écrit : > Déjà une première chose : les fichiers .htaccess que je dépose sont > supprimés par le serveur, il ne les affiche pas dans le dossier. > J'attends des infos de la part de mon hébergeur. Comment fais-tu pour voir qu'ils n'apparaissent pas ? |
|
|
Le 04/06/2017 16:37, Benoit a écrit :
>> P.-S. : je ne connais pas la syntaxe exacte, peut-être le / est-il >> obligatoire, donc : >> RedirectMatch 301 /1234\.(.*) /benoit.$1 >> ou : >> RedirectMatch permanent /1234\.(.*) /benoit.$1 > Merci, mais je mets ça où ? De mémoire, ça doit être dans httpd.conf au niveau général, ou dans un .htaccess répertoire par répertoire. Mais ça fait un moment que je n'y touche pas. > Parce que la doc ne dit rien. En tout cas > j'ai envoyé un mail pour savoir pourquoi les fichiers .htacess, que je > téléchargeais, n'apparaissaient pas. Comment cherches-tu à les faire « apparaître » ? Si c'est par 'ls' sur un Unix-like, il faut savoir que par défaut la commande ls n'affiche pas les fichiers dont le nom commence par un « . », et pour les voir il faut écrire par exemple « ls -a ». Mais si c'est par un GET [..], vérifie que tu as bien mis deux « c » aussi bien au nom du fichier que dans ta requête. En effet, ci-dessus tu as écrit « .htacess » avec un seul c. ;-) |
|
|
Le Sun, 4 Jun 2017 22:59:01 +0200
Olivier Miakinen <om+news> a écrit : > Mais si c'est par un GET [..], vérifie que tu as > bien mis deux « c » aussi bien au nom du fichier que dans ta requête. > En effet, ci-dessus tu as écrit « .htacess » avec un seul c. ;-) Est-ce qu'Apache renvoie le contenu de ce fichier ? |
|
|
Le 04/06/2017 23:22, Yliur a écrit :
>> Mais si c'est par un GET [..], vérifie que tu as >> bien mis deux « c » aussi bien au nom du fichier que dans ta requête. >> En effet, ci-dessus tu as écrit « .htacess » avec un seul c. ;-) > Est-ce qu'Apache renvoie le contenu de ce fichier ? Bonne question. Je viens d'essayer sur mon site, et la réponse est non : <http://www.miakinen.net/.htaccess> 403 Forbidden You don't have permission to access /.htaccess on this server. Pourtant, le fichier existe bel et bien, je peux y accéder par FTP. |
|
|
Le 04/06/2017 à 23:41, Olivier Miakinen a écrit :
> Le 04/06/2017 23:22, Yliur a écrit : > Bonne question. Je viens d'essayer sur mon site, et la réponse est non : > <http://www.miakinen.net/.htaccess> > 403 Forbidden > You don't have permission to access /.htaccess on this server. > Pourtant, le fichier existe bel et bien, je peux y accéder par FTP. Normal. Pour des raisons de sécurité, Apache empêche d'accéder aux fichiers cachés... On ne petu y accéder que directement (via l'OS...) ou via FTP. |
|
|
Bonjour,
Benoit (Sat, 3 Jun 2017 12:46:33 +0200 - fr.comp.infosystemes.[..]) : Juste sur ce point : > Déjà une première chose : les fichiers .htaccess que je dépose sont > supprimés par le serveur, il ne les affiche pas dans le dossier. > J'attends des infos de la part de mon hébergeur. Vérifie que ton logiciel FTP est configuré pour afficher les fichiers cachés. Les fichiers dont le nom débute par un point peuvent être considérés comme des fichiers système et ne pas être affichés par défaut. |
|
|
Olivier Miakinen <om+news> wrote:
> Le 04/06/2017 16:37, Benoit a écrit : > De mémoire, ça doit être dans httpd.conf au niveau général, ou dans > un .htaccess répertoire par répertoire. Mais ça fait un moment que > je n'y touche pas. > un Unix-like, il faut savoir que par défaut la commande ls n'affiche > pas les fichiers dont le nom commence par un « . », et pour les voir > il faut écrire par exemple « ls -a ». > Mais si c'est par un GET [..], vérifie que tu as > bien mis deux « c » aussi bien au nom du fichier que dans ta requête. > En effet, ci-dessus tu as écrit « .htacess » avec un seul c. ;-) C'est par ftp que je le fais (avec deux « cc » ;) Et oui il affiche les fichiers cachés. :-/ |
|
|
Benoit, dans le message <1n73gxe.1ltcp5qwtlky8N%benoit>, a
écrit : > J'ai cru comprendre qu'avec les alias on pouvait renvoyé une URL vers > une autre. C'est ce que je préfèrerai faire. Non, ça ne peut pas marcher : la vraie question ici est de décider ce qui doit se passer entre le serveur et le client. Les alias sont une fonctionnalité interne au serveur (et encore, celui d'Apache). Ils peuvent éventuellement permettre d'implémenter la politique choisie, mais ile ne sont pas en eux-mêmes la réponse. Un alias, ça permet de substituer un chemin à un autre quand il s'agit d'aller chercher le fichier correspondant à une requête. Ça fait, avec de petits avantages et inconvénients, la même chose que copier les fichiers ou mettre des liens symboliques. C'est rarement la solution à ce genre de problème. Ça sert plus à assembler différentes parties d'un site gérées par différentes équipes en une seule hiérarchie. >> Si le même fichier exactement existe toujours mais est accessible sous >> une autre URL, et que cette URL est connue, c'est « 301 Moved >> Permanently » qu'il faut renvoyer, pas « 404 Not Found ». > Oui, mais je n'ai pas accès à ça sur le serveur, mon hébergeur ne me > donne pas cette possibilité. Ou alors c'est un fichier « texte » que je > mets quelque part ? Si c'est Apache, c'est la même configuration que pour régler le document 404 ou autres options du même genre. Il faudra obtenir les détails de l'hébergeur. > Hors de mon champ de compétences, connaissances Eh bien il faut les élargir. C'est toujours rentable. > Mes pages sont générées par un logiciel de création de site de photos, > il utilise le nom des images sans pb. Si je change le nom d'une image il > me génère un nouveau site et le télécharge sur le serveur. > L'image 1234.jpeg est incluse dans une page 1234.html qui contient > l'image et tout un tas d'autres choses. Comme le nom de l'image a changé > (en benoit.jpeg par exemple), le nom de la page a changé : Ok. > 1234.html est > remplacée par benoit.html. C'est ce que je voudrai pouvoir gérer. Tu ne donnes pas une information capitale : as-tu (ou peux-tu construire) une liste complète des fichiers avec leurs anciens et nouveaux noms ? Si la réponse est oui, alors la bonne solution est de mettre en place des 301 pour tous les fichiers, HTML de présentation et JPEG. Si la réponse est non, alors un moteur de recherche prérempli dans le document 404 est à mon avis le mieux qu'on puisse faire. |
|
Fuseau horaire GMT +2. Il est actuellement 20h22. | Privacy Policy
|