kriss Posté 27 Janvier 2012 Posté 27 Janvier 2012 Dans la structure arborescente d'un site, l'adressage relatif d'un document situé dans un répertoire du même niveau est censé être effectué de la manière suivante : "../images/image.gif". Cela a toujours posé des problèmes à quelques robots mais depuis quelques mois, il semble que notre ami FaceBook ne parvienne pas à gérer correctement l'adressage relatif ce qui a pour effet de poluer nos logs d'erreurs avec des messages du type : "Invalid URI in request GET /../images/image.gif HTTP/1.1". Une réécriture d'url consistant à ôter les deux points ".." précédant les requêtes invalides permettrait de résoudre le problème. Cela me semble moins lourd que de transformer tous les adressages relatifs du site (plusieurs dizaines de milliers) en adressages absolus. Qu'en pensez-vous ? D'avance, merci pour vos commentaires. Kriss.
Wolf18 Posté 27 Janvier 2012 Posté 27 Janvier 2012 Mes liens relatifs, vers des fichiers ou dossiers se trouvant au même niveau ressemblent plutôt à cela personnellement : document.html ou images/photo1.jpg ../ c'est pour revenir au dossier parent non ?
kriss Posté 27 Janvier 2012 Auteur Posté 27 Janvier 2012 oui, "../" remonte bien au dossier parent donc "../images" remonte au dossier parent puis redescend dans le dossier frère/soeur "images".
philatex Posté 28 Février 2012 Posté 28 Février 2012 moi personnellement j'utilise une variable $url = http://www.mon-site.fr/ que j'inclu un fichier et j'ecris mes lien en faisant un <?php echo'$url';?> image/image.jpg et si un jours mon site migre ailleurs je n'ai qu'à changer ma variable url
SStephane Posté 12 Mars 2012 Posté 12 Mars 2012 Plus simplement, si tu ne mets que des <img src="/path/to/images/img.jpg" /> tu n'as pas à t'en soucier, le domaine sera utilisé avant, j'ai toujours trouvé l'adressage relatif hasardeux (../../../../.......) . Cela pose problème si tu souhaites que ton site soit installé dans un dossier, à ce moment là cf philatex Le mieux à tout point de vue reste sans aucun doute d'abstraire l'accès à ces fichiers, comme le font la majorité des framework/cms dans leur moteur de template, ex : symfony : <img src="{{ asset('path/to/images/img.jpg') }}" /> ezpublish : <img src="{'path/to/images/img.jpg'|ezimage()}" /> codeigniter : <img src="<?php echo base_url("path/to/images/img.jpg"); ?>" /> cakephp : <?php echo $html->image('path/to/images/img.jpg'); ?> Un modèle qui semble faire ses preuves Sinon, à coup de htaccess pour passer un pansement sur ton souci ressemblerait à : RewriteRule ^\.\.(.*)\.(jpe?g|png|gif)$ $1.$2 [L]
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant