HTML di base: come impostare il percorso relativo alla cartella corrente?


89

Diciamo che attualmente sono a: http://example.com/folder/page.html

È possibile creare un collegamento relativo su questa pagina che punta http://example.com/folder/senza specificare alcun folderpunto? (E utilizzando solo HTML.)

AGGIORNAMENTO: Come si è scoperto ./funziona solo in modalità doctype non rigorosa, mentre .funziona in entrambe le modalità, quindi è comunque una risposta migliore secondo me :) Grazie a tutti.


Perché qualcuno dovrebbe creare un percorso relativo alla directory corrente quando per impostazione predefinita solo il nome del file stesso in href assume la directory corrente?
Matteo

Risposte:


95

Solo dot sta funzionando. Tuttavia, il doctype fa la differenza poiché a volte va bene anche ./.

<a href=".">Link to this folder</a>

39

Per chiunque abbia trovato questo thread, indirizzare i percorsi relativi ha sempre creato discussioni su ciò che è corretto o meno.

A seconda di dove si utilizza il percorso da indirizzare, dipenderà da come si affronta il percorso.

In genere :

.e ./fai la stessa cosa, tuttavia non useresti .con un nome di file. Altrimenti avrai il browser che richiede .filename.extcome file dal server. Il metodo corretto sarebbe ./filename.ext.

../risolve il percorso di un livello superiore alla cartella corrente. Se tu fossi nel percorso /cheese/crackers/yummy.htmle il tuo codice di collegamento richiesto ../butter/spread.htmlnel documento yummy.html, allora avresti indirizzato il percorso /cheese/butter/spread.html, per quanto riguarda il server.

/affronterà sempre la radice del sito.


12

Puoi usare

 ../

per significare un livello superiore. Se hai una pagina chiamata page2.html nella stessa cartella di page.html, il percorso relativo è:

 page2.html.

Se hai page2.html allo stesso livello della cartella, il percorso è:

  ../page2.html

Questo ha risposto alla domanda che sono venuto qui per cercare, come trovare una pagina nella stessa cartella.
jvangeld

10
<html>
    <head>
        <title>Page</title>
    </head>
    <body>
       <a href="./">Folder directory</a> 
    </body>
</html>

1
No. Questo sale di un livello. Ho bisogno della cartella corrente.
serg

3
No, non lo è :) Il singolo punto è la risposta.
serg

1
Lo provo sia in IE che in Firefox e "." era lo stesso di "./" HTML 4.01 Transitional. È un problema di tipo doc?
MrChrister

Hm, potrebbe essere così. Sto usando rigoroso, avrei dovuto menzionarlo probabilmente.
serg

3

Entrambi i seguenti sembrano funzionare

./

.


1
Ancora non giusto, questo sale di un livello, che non è quello che sta chiedendo ... Vedi la risposta di
Bullines

4
./ salire di un livello sembra non avere senso per me. perché lo fa?
Johannes Schaub - litb


2

La risposta migliore non è abbastanza chiara. ecco cosa ha funzionato per me: il formato corretto dovrebbe essere simile a questo se vuoi puntare al file effettivo:

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

Questo ti farà puntare a quel file all'interno della stessa cartella se ti trovi nella pagina http://example.com/folder/index.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.