¿Mantener el sitio antiguo en su lugar y hacer que los enlaces antiguos funcionen dentro de Discourse?

:bulb: ¡Puedo manejar esto en la página 404 a través de un script en el HTML del tema…

Hago que la página 404 recargue la ventana del navegador a la URL “faltante”, lo que golpeará el lado del servidor. ¡Funciona! La única desventaja que veo es que la redirección es notable y te sacan de la aplicación para cualquier 404 real (perdiendo la barra lateral/encabezado).

<script type="text/discourse-plugin" version="0.8">
  api.onPageChange((url, title) => {
    const router = api.container.lookup('service:router');
    var is404 = document.getElementsByClassName("page-not-found");
    if (is404.length) {
        const params = new URLSearchParams(router.currentRoute.queryParams).toString();
        let q = "";
        if (params){ q = "?"+params; }
        window.location.replace(window.location.origin + url + q);
    }
  });
</script>