what the mdn does define aside html broken-links

html - the - ¿Vínculos sin volver un directorio?



html elements list (3)

Esta es probablemente una pregunta tonta y tengo la respuesta, pero quiero saber si estoy haciendo algo mal. Tengo un sitio web, llamémoslo www.mysite.com . Dentro de este sitio, tengo algunas preguntas frecuentes, pero la persona que creó el sitio guardó las páginas de preguntas frecuentes en un directorio del sitio llamado "Preguntas frecuentes".

Como ejemplo, una página de preguntas frecuentes se ubicaría en:

www.mysite.com/pages/en/faqs/faq-page1.html .

Tenga en cuenta el directorio pages/en/ . Lo ideal sería que todas las páginas se guarden en www.mysite.com/index.html etc. pero no puedo cambiar esto.

De todos modos, cuando estoy en cualquiera de estas páginas de preguntas frecuentes, e intento un enlace para decir que la página de inicio index.html la navegación no irá a la página. Así, por ejemplo, cuando estoy en:

www.mysite.com/pages/en/faqs/faq-page1.html

y trato de enlazar de nuevo a la página de inicio

www.mysite.com/pages/en/index.html (que es donde se guarda la página de índice) la navegación no funcionará. En su lugar, intentará ir a www.mysite.com/pages/en/faqs/index.html .

Ahora asumo que esto sucede porque estoy en el directorio "faq", pero ¿cómo vuelvo al directorio raíz al enlazar? El código para el enlace es simplemente <a href="index.html">Home</a> . Por supuesto, podría poner el enlace completo en www.mysite.com/pages/en/index.html , lo que resolvería esto, pero ¿hay otra forma de evitarlo? Perdón por una publicación tan larga y es posible que haya podido explicar esto mejor pero no puedo: S

Gracias por adelantado.


Debe proporcionar una ruta de archivo relativa de <a href="../index.html">Home</a>

Alternativamente, puede especificar un enlace desde la raíz de su sitio con <a href="/pages/en/index.html">Home</a>

.. y . tiene significados especiales en las rutas de archivos, .. significa un directorio y . significa directorio actual.

por lo tanto, <a href="index.html">Home</a> es lo mismo que <a href="./index.html">Home</a>


Hay dos tipos de caminos: absolutos y relativos. Esto es básicamente lo mismo para los archivos en su disco duro y los directorios en una URL.

Los caminos absolutos comienzan con una barra diagonal inicial. Siempre apuntan a la misma ubicación, sin importar dónde los uses:

  • /pages/en/faqs/faq-page1.html

Las rutas relativas son el resto (todas las que no comienzan con una barra). La ubicación a la que apuntan depende de dónde los estés utilizando

  • index.html es:
    • /pages/en/faqs/index.html si se llama desde /pages/en/faqs/faq-page1.html
    • /pages/index.html si se llama desde /pages/example.html
    • etc.

También hay dos nombres de directorio especiales:. y .. :

  • . significa "directorio actual"
  • .. significa "directorio padre"

Puedes usarlos para construir rutas relativas:

  • ../index.html es /pages/en/index.html si se llama desde /pages/en/faqs/faq-page1.html
  • ../../index.html es /pages/index.html si se llama desde /pages/en/faqs/faq-page1.html

Una vez que esté familiarizado con los términos, es fácil entender qué está fallando y cómo solucionarlo. Tienes dos opciones:

  • Usar caminos absolutos
  • Arregla tus caminos relativos

Para subir un directorio en un enlace, use .. Esto significa "subir un directorio", por lo que su enlace tendrá un aspecto similar al siguiente:

<a href="../index.html">Home</a>