作成:2025-08-23最終更新:2025-08-23
このドキュメントをあなたの好きなAIアシスタントに参照してくださいChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを編集
このドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクコピー
ドキュメントのMarkdownをクリップボードにコピー
useRewriteURL フック
useRewriteURL フックは Next.js 向けのクライアントサイドフックで、ローカライズされた URL の書き換えを自動的に管理します。ユーザーがロケールプレフィックス付きの正規パスを手動で入力した場合でも、ブラウザの URL が intlayer.config.ts に定義された「見た目の良い」ローカライズ済みパスを常に反映するようにします。
このフックは window.history.replaceState を使用して静かに動作し、不要な Next.js のルーター遷移やページリフレッシュを回避します。
使用方法
レイアウトの一部となるクライアントコンポーネントでフックを呼び出すだけです。
仕組み
- Path Monitoring: フックはユーザーの
localeの変更を監視します。 - Rewrite Detection: 現在の
window.location.pathnameを設定にあるリライトルールと照合します。 - URL Correction: 現在のパスに対してより見栄えの良いローカライズされたエイリアスが見つかった場合、フックは
window.history.replaceStateを呼び出してアドレスバーを更新し、内部的には同じページに留めます。
Next.jsで使用する理由
intlayerMiddleware がサーバー側のリライトや初期リダイレクトを処理する一方で、useRewriteURL フックはクライアント側の遷移後でもブラウザの URL が好みの SEO 構造と一致するように保ちます。
- クリーンな URL:
/fr/testsの代わりに/fr/essaisのようなローカライズされたセグメントの使用を強制します。 - パフォーマンス: フルのルーターサイクルやデータの再取得を発生させずにアドレスバーを更新します。
- SEO の整合性: ユーザーや検索エンジンのボットに対して一つの URL バージョンのみが表示されるようにし、重複コンテンツの問題を防ぎます。