HTML de base - comment définir le chemin relatif du dossier actuel?

86

Disons que je suis actuellement à: http://example.com/folder/page.html

Est-il possible de créer un lien relatif sur cette page qui pointe http://example.com/folder/sans spécifier foldernulle part? (Et en utilisant uniquement HTML.)

MISE À JOUR: Il s'est avéré ./que cela ne fonctionne qu'en mode doctype non strict, alors qu'il .fonctionne dans les deux modes, c'est donc toujours une meilleure réponse à mon avis :) Merci à tous.

serg
la source
Pourquoi quelqu'un créerait-il un chemin relatif vers le répertoire courant alors que, par défaut, seul le nom du fichier lui-même dans href suppose le répertoire courant?
Matthieu

Réponses:

94

Just dot fonctionne. Le doctype fait une différence cependant car parfois le ./ est bien aussi.

<a href=".">Link to this folder</a>
MrChrister
la source
38

Pour quiconque a trouvé ce fil, le traitement des chemins relatifs a toujours créé des arguments sur ce qui est correct ou non.

Selon l'endroit où vous utilisez le chemin à adresser, cela dépendra de la façon dont vous adresserez le chemin.

Généralement :

.et ./faites la même chose, mais vous n'utiliserez pas .avec un nom de fichier. Sinon, le navigateur demandera .filename.extsous forme de fichier au serveur. La bonne méthode serait ./filename.ext.

../adresse le chemin d'accès d'un niveau à partir du dossier actuel. Si vous étiez dans le chemin /cheese/crackers/yummy.htmlet que votre code de lien était demandé ../butter/spread.htmldans le document yummy.html, alors vous adresseriez le chemin /cheese/butter/spread.html, en ce qui concerne le serveur.

/s'adressera toujours à la racine du site.

Mark Giblin
la source
12

Vous pouvez utiliser

 ../

pour signifier jusqu'à un niveau. Si vous avez une page appelée page2.html dans le même dossier que page.html, le chemin relatif est:

 page2.html.

Si vous avez page2.html au même niveau que le dossier, le chemin est:

  ../page2.html
Vincent Ramdhanie
la source
Cela a répondu à la question que je suis venu chercher ici, comment trouver une page dans le même dossier.
jvangeld
10
<html>
    <head>
        <title>Page</title>
    </head>
    <body>
       <a href="./">Folder directory</a> 
    </body>
</html>
Bullines
la source
1
Nan. Cela monte d'un niveau. J'ai besoin du dossier actuel.
serg
3
Non, ce n'est pas :) Le point unique est la réponse.
serg
1
Je le teste dans IE et Firefox et "." était identique à "./" HTML 4.01 Transitional. Est-ce un problème de type doc?
MrChrister
Hm, ça pourrait être ça. J'utilise strict, j'aurais dû le mentionner probablement.
serg
3

Les deux ci-dessous semblent fonctionner

./

.

bdukes
la source
1
Toujours pas bien, cela monte d'un niveau, ce qui n'est pas ce qu'il demande ... Voir la réponse de
Bullines
4
./ monter d'un niveau me semble absurde. Pourquoi ça fait ça?
Johannes Schaub - litb
2
<a href="./">Folder</a>
Steve Tranby
la source
2

La réponse principale n'est pas assez claire. voici ce qui a fonctionné pour moi: le format correct devrait ressembler à ceci si vous voulez pointer vers le fichier réel:

 <a href="./page.html">

Cela vous fera pointer vers ce fichier dans le même dossier si vous êtes sur la page http://example.com/folder/index.html

JayPex
la source