Pregunta

Me preguntaba cuál es la mejor manera de definir las URL que enlazan a páginas dentro de un nombre de dominio. Por ejemplo, para el dominio www.example.com .. Puedo tener enlaces como

<a href="http://www.domain.com/test.html">test</a>

o

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

Uno de los problemas que encontré fue que al usar plantillas ... si uso la plantilla html con enlaces relativos, entonces no puedo usar la misma plantilla para el directorio www.example.com/directory2 que ganaron los enlaces comunes no funciona para esa página ... ni los archivos css ni javascripts.

Tuve que duplicar la plantilla o establecer rutas absolutamente. Elegí caminos absolutos. así que las rutas de plantilla comienzan con http://www.mydomain.com/ .. ¿Esto causa algún problema de rendimiento como múltiples solicitudes http, resolución de dominios o cualquier otra? ¿Cuál es su sugerencia / comentario al respecto?

Gracias.

¿Fue útil?

Solución

Si bien el uso de la ruta absoluta no agrega ninguna sobrecarga adicional, la práctica aceptada para los enlaces locales es usar enlaces relativos. Los enlaces relativos se pueden tratar de manera diferente a los enlaces absolutos mediante herramientas como wget o Down-Them-All (herramientas de descarga de sitios web).

Sin embargo, si su solución de plantillas funciona mejor con enlaces absolutos, entonces no es extraño seguir con ellos. Tentativamente, los enlaces absolutos pueden ser ventajosos para usted si el contenido de su sitio se elimina mediante el enlace a su página original (Fuente: http://www.navegabem.com/linking-strategy.html ).

Otros consejos

Definitivamente use rutas relativas.

Esto le dará no menos funcionalidad y evitará que tenga problemas si cambia su nombre de dominio, y le permitirá probar en un servidor diferente, en lugar de en vivo ...

puedes rootear todos tus caminos

eg <a href="/test.html">test</a>

esto será lo mismo que poner el dominio.

[EDITAR] puede usar mod rewrite para luego mover el sitio si es necesario a diferentes carpetas - vea http://httpd.apache.org/docs/2.0/mod/ mod_rewrite.html # rewritebase

Josh

Supongo que deberías usar la ruta relativa. Dado que si su dominio se ha ido / cambiado, el sitio aún funcionaría correctamente, y más que eso, la ruta en html sería mucho más corta.

Y si desea acomodar el caso de cambiar la estructura del archivo. Suponiendo que está utilizando html para desarrollar un sitio web. Supongo que podría hacer uso de shtml / server side include, para separar elementos comunes, como: Menú

De tal manera que cuando hay un cambio en las estructuras, simplemente tiene que modificar el menu.shtml

Espero que esto ayude

Lo que Josh sugirió está bien, pero fallará si su sitio web se coloca bajo un directorio virtual. Recomiendo siempre usar rutas relativas.

Siempre sus rutas relativas para referirse a los recursos (páginas, archivos css, archivos js) que están en su sitio.

Razones:

  1. Esto le permite cambiar su nombre de dominio en cualquier momento sin incurrir en grandes cantidades de dolor de cabeza
  2. Le permite reestructurar sus páginas muy fácilmente.

Sin embargo, si su sitio web es realmente tan grande, necesitará tener una base de datos de enlaces y linkids para no perder los enlaces mientras mueve los recursos. Esto es lo que Microsoft hace en microsoft.com.

jrh

Estoy con Josh .... especifique rutas relativas a la raíz de la aplicación: /myfolder/myfile.html

En mi caso, esto tiene la ventaja adicional de trabajar en mi máquina de desarrollo, donde cada sitio es una aplicación (IIS) fuera de mi sitio predeterminado, así como trabajar en el sitio en vivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top