web-dev-qa-db-fra.com

Lien relatif vers un sous-dossier

Supposons que j'ai un site Web avec trois fichiers:
/home/blog.html
/home/picture1.jpg
/home/files/picture2.jpg

Maintenant, éditons ce fichier blog.html. Lorsque je veux créer un lien vers le dossier en cours, je le fais comme suit:
<a href="./">Current folder</a>

Mais quelle est la bonne façon de créer un lien vers un fichier du dossier en cours, vers un sous-dossier ou vers un fichier d’un sous-dossier? Cela peut être soit:
<a href="picture1.jpg">Picture 1</a>
<a href="files/">Files</a>
<a href="files/picture2.jpg">Picture 2</a>
ou
<a href="./picture1.jpg">Picture 1</a>
<a href="./files/">Files</a>
<a href="./files/picture2.jpg">Picture 2</a>

Comme j'ai vérifié, les deux manières fonctionnent bien dans mon navigateur. Mais j'aimerais savoir lequel d'entre eux est la voie privilégiée? Certains d'entre eux sont-ils légèrement mieux détaillés?

3
Jeyekomon

La partie ./ est supprimée du début d'une URL dans le cadre de la résolution de celle-ci, comme indiqué dans STD 66 . Cela n'a rien à voir avec des dossiers ou des fichiers; il s’agit simplement d’une manipulation de chaîne dictée par les spécifications d’URL génériques. Ainsi, par exemple, les URL picture1.jpg et ./picture1.jpg ont une signification identique: elles se résolvent en une même URL absolue.

Que vous préfériez l'un à l'autre est une question de goût. Toutes choses étant égales par ailleurs, il est préférable de préférer l’alternative plus courte, non seulement pour des raisons de brièveté, mais également afin de réduire quelque peu le risque de confusion que les utilisateurs peuvent avoir avec la signification des URL relatives.

3
Jukka K. Korpela

This article devrait vous aider à clarifier les choses.

Il suffit d'ajouter des points (.) devant une barre oblique (/) lorsque vous demandez un dossier (ou un répertoire) au-dessus du répertoire actuel, comme ceci:

../parent_folder/picture1.jpg

Ou le répertoire actuel comme ceci: ./

En vous servant de vos exemples, notez le texte du lien pour indiquer à quoi ils correspondent:

<a href="./">current folder</a>
<a href="picture1.jpg">picture1 in current folder</a>
<a href="files/">files folder</a>
<a href="files/picture2.jpg">picture2 in files folder</a>

Vous pouvez vérifier les liens dans vos pages Web à l'aide de l'outil Vérificateur de liens W3C .

1
dan