! これをテーマHTMLのスクリプトで404ページで処理できます…
404ページがブラウザウィンドウを「見つからない」URLにリロードするようにしました。これによりサーバーサイドがヒットします。機能します!唯一の欠点は、リダイレクトが目立ち、実際の404の場合はアプリから離れてしまうことです(サイドバー/ヘッダーが失われます)。
<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>