Manter o site antigo no lugar e fazer os links antigos funcionarem dentro do discourse?

:bulb:! Consigo lidar com isso na página 404 por meio de um script no HTML do tema…

Faço a página 404 recarregar a janela do navegador para a URL “faltando”, o que atingirá o lado do servidor. Funciona! A única desvantagem que vejo é que o redirecionamento é perceptível e você sai do aplicativo para quaisquer 404 reais (perdendo a barra lateral/cabeçalho).

<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>