Es la barra diagonal adicional la que hace que las páginas no se carguen. Todo funciona como se espera con una sola barra. ¿Por qué pareces insistir en usar una barra adicional al final de la URL?
Si uso una doble barra al final de la URL de mi foro, ocurre lo mismo: una página en blanco… como era de esperar.
Soy consciente de la causa. Si se introduce el nombre de dominio de un foro en la barra de direcciones de un navegador y se autocompleta con una sola barra, pero el usuario añade una barra extra al final, se mostrará una página en blanco en cualquier foro de Discourse. Este comportamiento no es deseado, es reproducible y es consistente en todas las URI.
Otro problema adicional es que la autocompletación del navegador podría añadir entonces una doble barra, ya que el formato de página en blanco no genera ningún error. Por lo tanto, hasta que el navegador elimine su historial de autocompletado, los foros seguirán apareciendo en blanco indefinidamente.
Si escribes https://apnews.com//, serás redirigido al sitio web de Associated Press y recibirás un error 404: Página no encontrada. No se carga ningún contenido. La única diferencia que veo es que AP muestra un 404, mientras que los sitios de Discourse solo muestran una página en blanco (sin el 404).
La autocompletación sigue mostrando solo una barra inclinada al final mientras escribes.
Así que quizás el “error” no sea mostrar un 404 cuando se usa una doble barra inclinada?
El ‘bug’ hace que el software del foro siga cargando muchos megabytes de información según la consola de Safari y Chrome, aunque simplemente no la muestre.
Cuando las redirecciones de URL y/o el enrutamiento esperan una sola barra, tener una doble barra “rompe” lo que se esperaba. En una página estática, es posible (y probablemente sucederá) que todo se cargue correctamente. Pero en una página dinámica, es allí donde surgen los problemas. Incluso algunas aplicaciones CGI que analizan directamente la URL pueden fallar. Algunos servidores incluso pueden interpretar las barras dobles como un tipo de ataque de explotación, especialmente si las barras dobles están en medio de la URL.
Quizás alguien del equipo de Discourse pueda ofrecer una mejor explicación sobre cómo responde Discourse a las barras dobles. Pero sería mejor que en tales casos se devolviera un error 404.
Estoy bastante seguro de que Ember lleva mucho tiempo con esto solucionado; probablemente sea nuestra lógica de ubicación personalizada o algo similar lo que esté causando esto.