È la barra inclinata aggiuntiva a causare il mancato caricamento delle pagine. Con una singola barra, tutto funziona come previsto. Perché sembri insistere nell’aggiungere una barra extra alla fine dell’URL?
Se utilizzo una doppia barra alla fine dell’URL del mio forum, ottengo lo stesso risultato: pagina vuota… come previsto.
Sono a conoscenza della causa. Se il nome di dominio di un forum viene inserito nella barra degli indirizzi del browser e viene completato automaticamente con una singola barra, ma l’utente aggiunge una barra extra alla fine, qualsiasi forum Discourse restituirà una pagina vuota: questo è un comportamento indesiderato, è riproducibile e coerente tra diversi URI.
Un ulteriore problema è che l’autocompletamento del browser potrebbe quindi aggiungere una doppia barra, poiché il formato della pagina vuota non genera errori; finché il browser non cancella la cronologia di autocompletamento, i forum rimarranno vuoti per sempre.
Se digiti https://apnews.com//, verrai reindirizzato al sito web dell’Associated Press e riceverai un errore 404 - Pagina non trovata. Nessun contenuto viene caricato. L’unica differenza che noto è che AP restituisce un 404, mentre i siti Discourse mostrano solo una pagina vuota (senza un 404).
L’autocompletamento mostra ancora solo una barra obliqua alla fine mentre digito.
Quindi forse il “bug” non è il fatto di non mostrare un 404 quando viene utilizzata una doppia barra obliqua?
Il “bug” fa sì che il software del forum carichi comunque molti megabyte di informazioni, come indicato dalla console di Safari e Chrome, semplicemente non le visualizza.
Quando i reindirizzamenti URL e/o il routing si aspettano una singola barra, la presenza di una doppia barra “interrompe” ciò che era previsto. Su una pagina statica, potresti (e probabilmente lo farai) ottenere un caricamento corretto di tutto. Ma su una pagina dinamica, è lì che sorgono i problemi. Anche alcune applicazioni CGI che analizzano direttamente l’URL potrebbero fallire. Alcuni server potrebbero persino considerare le barre multiple come una forma di attacco di sfruttamento, specialmente se le doppie barre si trovano a metà dell’URL.
Forse uno dei membri del team di Discourse può fornire una spiegazione migliore su come Discourse risponde alle barre multiple. Tuttavia, sarebbe meglio se in questi casi venisse restituito un errore 404.
Sono abbastanza sicuro che Ember abbia risolto questo problema da molto tempo; probabilmente è causato dal nostro sistema di localizzazione personalizzato o qualcosa di simile.