html - significa - los atributos alt
¿Tiene enlaces relativos a la raíz? (7)
¿Hay alguna manera de que todos los enlaces en una página sean relativos al directorio raíz?
Por ejemplo, en www.example.com/fruits/apples/apple.html
podría tener un enlace que diga:
<a href="fruits/index.html">Back to Fruits List</a>
¿Este enlace estaría apuntando a www.example.com/fruits/apples/fruits/index.html
o www.example.com/fruits/index.html
? Si es el primero, ¿hay alguna manera de hacer que apunte al segundo en su lugar?
Para dar una URL a una etiqueta de imagen que localiza images/
directorio en la raíz como
`logo.png`
debe dar una URL src
comenzando con /
siguiente manera:
<img src="/images/logo.png"/>
Este código funciona en cualquier directorio sin ningún problema, incluso si se encuentra en branches/europe/about.php
aún se puede ver el logotipo allí mismo.
Si está creando la dirección URL desde el lado del servidor de una aplicación ASP.NET y está implementando su sitio web en un directorio virtual (por ejemplo, aplicación2) en su sitio web, es decir, http://www.yourwebsite.com/app2/
entonces solo inserta
<base href="~/" />
justo después de la etiqueta del título.
así que cada vez que use un pariente raíz, por ejemplo
<a href="/Accounts/Login"/>
se resolvería en " http://www.yourwebsite.com/app2/Accounts/Login "
De esta manera, siempre puede apuntar a sus archivos de forma relativamente absoluta;)
Para mí, esta es la solución más flexible.
Una URL relativa a la raíz comienza con un carácter /
, para que se parezca a <a href="/directoryInRoot/fileName.html">link text</a>
.
El enlace que publicó: <a href="fruits/index.html">Back to Fruits List</a>
está enlazando a un archivo html ubicado en un directorio llamado fruits
, el directorio está en el mismo directorio que la página html en que aparece este enlace
Para que sea una URL relativa a la raíz, cámbiela a:
<a href="/fruits/index.html">Back to Fruits List</a>
Editado en respuesta a una pregunta, en comentarios, desde OP:
Así que hacer / será relativo a www.example.com, ¿hay alguna manera de especificar cuál es la raíz, por ejemplo, qué sucede si quiero que la raíz sea www.example.com/fruits en www.example.com/fruits/ manzanas / apple.html?
Sí, la introducción de la URL, en los atributos href
o src
, con un /
hará que la ruta sea relativa al directorio raíz. Por ejemplo, dada la página html en www.example.com/fruits/apples.html
, la a
de href="/vegetables/carrots.html"
se vinculará a la página www.example.com/vegetables/carrots.html
.
El elemento de etiqueta base
permite especificar el uri base para esa página (aunque la etiqueta base
debería agregarse a cada página en la que fue necesario para usar una base específica, para esto simplemente citaré el ejemplo del W3) :
Por ejemplo, dada la siguiente declaración BASE y una declaración A:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Our Products</TITLE>
<BASE href="http://www.aviary.com/products/intro.html">
</HEAD>
<BODY>
<P>Have you seen our <A href="../cages/birds.gif">Bird Cages</A>?
</BODY>
</HTML>
el URI relativo "../cages/birds.gif" resolvería a:
http://www.aviary.com/cages/birds.gif
Ejemplo citado de: http://www.w3.org/TR/html401/struct/links.html#h-12.4 .
Lectura sugerida:
Utilice este código "./" como root en el servidor, ya que funciona para mí
<a href="./fruits/index.html">Back to Fruits List</a>
pero cuando está en una máquina local, use el siguiente código "../" como la ruta relativa de la raíz
<a href="../fruits/index.html">Back to Fruits List</a>
Utilizar
<a href="/fruits/index.html">Back to Fruits List</a>
o
<a href="../index.html">Back to Fruits List</a>
simplemente ponga <a href="/">some link<a/>
, que lo llevará a la raíz del sitio web
<a href="/fruits/index.html">Back to Fruits List</a>