HTML básico: ¿cómo establecer la ruta relativa a la carpeta actual?

86

Digamos que estoy actualmente en: http://example.com/folder/page.html

¿Es posible crear un enlace relativo en esta página que apunte http://example.com/folder/sin especificar folderningún lugar? (Y usando solo HTML).

ACTUALIZACIÓN: Resultó que ./funciona solo en el modo doctype no estricto, mientras que .funciona en ambos modos, por lo que sigue siendo una mejor respuesta en mi opinión :) Gracias a todos.

serg
fuente
¿Por qué alguien crearía una ruta relativa al directorio actual cuando por defecto solo el nombre del archivo en href asume el directorio actual?
Mateo

Respuestas:

94

Solo dot está funcionando. Sin embargo, el tipo de documento marca la diferencia, ya que a veces el ./ también está bien.

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

Para cualquiera que haya encontrado este hilo, abordar rutas relativas siempre ha creado argumentos sobre lo que es correcto o no.

Dependiendo de dónde use la ruta a direccionar, dependerá de cómo la direccione.

Generalmente :

.y ./haga lo mismo, sin embargo, no lo usaría .con un nombre de archivo. De lo contrario, el navegador lo solicitará .filename.extcomo un archivo del servidor. El método adecuado sería ./filename.ext.

../aborda la ruta hasta un nivel desde la carpeta actual. Si estuvieras en la ruta /cheese/crackers/yummy.htmly tu código de enlace se solicite ../butter/spread.htmlen el documento yummy.html, entonces estarías abordando la ruta /cheese/butter/spread.html, en lo que respecta al servidor.

/siempre se dirigirá a la raíz del sitio.

Mark Giblin
fuente
12

Puedes usar

 ../

para significar hasta un nivel. Si tiene una página llamada page2.html en la misma carpeta que page.html , la ruta relativa es:

 page2.html.

Si tiene page2.html al mismo nivel que la carpeta, la ruta es:

  ../page2.html
Vincent Ramdhanie
fuente
Eso respondió a la pregunta que vine a buscar aquí, cómo encontrar una página en la misma carpeta.
jvangeld
10
<html>
    <head>
        <title>Page</title>
    </head>
    <body>
       <a href="./">Folder directory</a> 
    </body>
</html>
Bullines
fuente
1
No Esto sube un nivel. Necesito carpeta actual.
serg
3
No, no lo es :) El punto único es la respuesta.
serg
1
Lo pruebo tanto en IE como en Firefox y "." era lo mismo que "./" HTML 4.01 Transitional. ¿Es un problema de tipo de documento?
MrChrister
Hm, eso podría ser todo. Estoy usando estricto, probablemente debería haber mencionado eso.
serg
3

Ambos de los siguientes parecen funcionar

./

.

bdukes
fuente
1
Todavía no está bien, esto sube un nivel, que no es lo que está preguntando ... Vea la respuesta de
Bullines
4
./ Subir un nivel me parece una tontería. ¿Porque hace eso?
Johannes Schaub - litb
2
<a href="./">Folder</a>
Steve Tranby
fuente
2

La respuesta principal no es lo suficientemente clara. esto es lo que funcionó para mí: El formato correcto debería verse así si desea apuntar al archivo real:

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

Esto hará que apunte a ese archivo dentro de la misma carpeta si está en la página http://example.com/folder/index.html

JayPex
fuente