🔁vercel.json の redirects で別ドメインへ全パスを 308 転送するときの詰まりどころ
Next.js (output: 'export') を Vercel から GitHub Pages にデプロイ先を移し、Vercel 側は vercel.json の redirects で全 URL を新ドメインに 308 転送して SEO 集約を狙った際、framework 自動検出と trailing slash 周りで複数回ハマった経緯と、最終的に動作した設定をまとめます
Next.js (output: 'export') を Vercel から GitHub Pages にデプロイ先を移し、Vercel 側は vercel.json の redirects で全 URL を新ドメインに 308 転送して SEO 集約を狙った際、framework 自動検出と trailing slash 周りで複数回ハマった経緯と、最終的に動作した設定をまとめます
暫定ミラー codh-mirror について、前回記事では『認証・保存バックエンドは結局動かない』としていたところを、後から方針転換して Firebase 認証と JSONkeeper 互換 API (Cloudflare Workers + D1 / PythonAnywhere の二系統) を実際に動かすまでの記録です。Authorized domains 設定、FirebaseUI 3.x の signInFlow リダイレクト落とし穴、authFirebase.js の差し替え、Curation Manager の外部リンク相対化、5 箇所の curationJsonExportUrl 書き換えなど、codh-mirror リポジトリ側で行った変更を 1 本にまとめます。
ROIS-DS 人文学オープンデータ共同利用センター (CODH) のホームページが長期メンテナンス中(2026年2月16日夕方よりサービス停止、再開時期未定)の間、各種ツール (vdiff.js / IIIF Curation Viewer / そあん / 等) を Wayback Machine 等から復元し、独立した GitHub Pages リポジトリ (codh-mirror) として公開する手順と、その過程で踏んだいくつかの落とし穴 (とくに『そあん』の kuromoji 辞書欠落) をまとめます。あくまで CODH のサービス再開までの暫定対応です。