Je suis confus en ce qui concerne la façon dont les chemins relatifs sont calculés dans les URL.

Lorsque j'ai une URL de base sans une barre oblique de fin ("example.com/a/b"), je ne peux pas ajouter un nouveau segment avec un chemin relatif en utilisant uniquement le nouveau segment ?

Pourquoi l'ajout d'un segment de chemin ne fonctionne-t-il pas avec href="./c" ?

Lorsque j'utilise href="../c", j'obtiens le résultat attendu, un chemin relatif un niveau plus haut dans la hiérarchie. Mais quelle est la syntaxe pour ajouter un chemin relatif même lorsque l'URL de base ne se termine pas par une barre oblique ?

Utiliser simplement href="c" remplace le dernier segment et utiliser href="/c" supprime tous les segments. La seule option relative que j'ai semble être href="b/c" mais je dois ensuite répéter le dernier segment, ce qui ne le rend pas toujours si facile. Je souhaite que href="./c" ou quelque chose de similaire fonctionne...

Mais peut-être que "./c" n'est pas correct car le point fait référence au "dossier" qui, dans ce cas, pourrait signifier le dernier segment se terminant par une barre oblique ? Mais même dans ce cas, il devrait être possible d'utiliser une autre syntaxe pour accomplir la même chose.

0
Andreas Zita 3 févr. 2020 à 13:13

1 réponse

Meilleure réponse

Les URL relatives (qui ne commencent pas par un /) sont toujours calculées à partir du dernier segment "répertoire" du chemin. Toute partie "nom de fichier" est supprimée. Il n'y a aucun moyen de changer cela avec une syntaxe d'URL simple.

Vous pouvez le faire en écrivant votre propre code de résolution d'URL dans un langage de programmation de votre choix.

1
Quentin 3 févr. 2020 à 10:16