> Faqs > ¿Porque hay paginas con enlaces que no terminan en ".html"?

¿Porque hay paginas con enlaces que no terminan en ".html"?

Buenas tardes, estoy empezando en la programacion y ya tengo mi primera pagina programada con html y css. El "problema" es que todas mis paginas terminan en ".html" quiero saber si es normal o hay alguna forma para evitar que tenga esa terminacion.

Como ejemplo ilustrativo: la pagina en la que estoy formulando la pregunta es

https://desarrolloweb.com/faq-admin/nueva 

No tiene el ".html", mientras que una de las mias es

https://example.com/cursos/curso-amparo-indirecto.html

¿Por que ocurre esto y cuál es la diferencia entre tener y no tener esa terminacion?

De antemano gracias por la atención.

Respuestas

El asunto que estás preguntando es sencillamente un tema de organización. Puedes organizar un sitio web con carpetas o con archivos. Si lo organizas con carpetas no tienes por qué usar el ".html".

Los ficheros que tienen url que terminan en .html ya sabes como funcionan. Ahora, bien, todas las carpetas que tienes en un sitio web contienen un archivo llamado index.html (o a veces si el servidor soporta otros lenguajes podría ser también algo como index.php). Ese es el archivo que se manda llamar cuando se accede a una carpeta sin indicar nada más... por eso, si quieres que se desaparezca el .html de tus páginas, simplemente tienes que crear una carpeta y poner el index.html dentro.

Por ponerte un ejemplo, un sitio web puede tener una estructura de ficheros y carpetas como este:

example.com
 |
 |-> index.html
 |-> contacto.html
 |-> productos
     |
     |-> index.html
     |-> producto2.html

Ante estos archivos, se podrían tener rutas como estas:

  • example.com y example.com/index.html te mostrarían el archivo index.html que está en la carpeta raíz.
  • example.com/contacto.html te mostrará el archivo contacto.html que hay en la raíz
  • example.com/productos y example.com/productos/index.html te mostrará el archivo llamado index.html que hay en la carperta productos.
  • example.com/productos/producto2.html te mostrará el archivo llamado producto2.html que hay en la carpeta productos

Eso es todo! espero que haya servido de aclaración.

Juanjo
248 8 18 5

Un tema muy relacionado a este que se pregunta tiene que ver con la configuración del servidor. Es un poco más avanzado de lo que ha respondido Juanjo, que es super correcto, pero puede ser interesante para aquel que esté buscando información sobre este tema.

Resulta que en las páginas "html", los sitios web tradicionales que hacemos al comenzar, que también muchas veces se llaman páginas estáticas, por no tener nada de programación del lado del servidor, generalmente, cada ruta o página del sitio correspomde con un archivo ".html" en el servidor. Sin embargo, esto no siempre es así y a veces aunque un sitio web responda a una ruta como:

example.com/products

No necesariamente tiene que existir el correspondiente archivo example.com/products/index.html. A veces esa es una ruta "lógica" que no tiene correspondencia con un archivo "físico". Ahí es donde entra la configuración del servidor.

Tú puedes hacer mediante la configuración del servidor que existan rutas que no están asociadas a un archivo físico. O por ejemplo, que un número "x" de rutas se entregen mediante un mismo archivo físico. Por ejemplo, podríamos tener rutas como estas:

example.com/products/1
example.com/products/2
example.com/products/3
...
example.com/products/9999

Podríamos configurar el servidor para que todas esas páginas de producto se sirvan mediante un mismo archivo, que accedería a la base de datos para recuperar la información del producto que sea necesario y componer la página con el contenido de ese producto, para enviarla finalmente al cliente. Esto generalmente es algo que se hace cuando trabajas con programación del lado del servidor, con PHP u otros lenguajes.

Un lugar típico donde se configuran estas cosas es en el archivo .htaccess, que es un archivo de configuración del servidor web Apache. Otros servidores como Nginx no soportan configuración mediante el .htaccess, pero también tienen sus mecanismos para conseguir este comportamiento.

Miguel Angel
3295 146 215 17

Hola a todas(os), pues desde que inicio este rollo del pseudolenguaje HTML, y posteriormente paso a ser lenguaje, pues recuerdo muy bien que desde el inicio se comento que era exactamente igual el usar la terminacion HTML o la terminación HTM, algunos por obviar "un teclazo" preferían HTM, en cambio, otros, como yo, preferimos ser demasiado explicitos en este asunto y empleamos HTML, saludos...

Carlos
0
HTML no lo podemos tildar de "pseudolenguaje", ya que es un lenguaje en toda regla, con su sintaxis, semántica, etc. Supongo que lo dices porque no es un lenguaje de programación, que es cierto, pero no deja de ser un lenguaje por ello.