استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
هوك useRewriteURL
الهوك useRewriteURL الخاص بـ Next.js هو هوك من جانب العميل يقوم بإدارة إعادة كتابة عناوين URL المحلية تلقائيًا. يضمن أن عنوان المتصفح يعكس دائمًا المسار المحلي "الجميل" المعرفة في ملف intlayer.config.ts، حتى لو كتب المستخدم يدويًا مسارًا قياسيًا مع بادئة اللغة.
يعمل هذا الهوك بهدوء عن طريق استخدام window.history.replaceState، متجنبًا عمليات التنقل غير الضرورية عبر راوتر Next.js أو إعادة تحميل الصفحة.
الاستخدام
ببساطة استدعِ الـ hook داخل Client Component يكون جزءًا من الـ layout الخاص بك.
نسخ الكود إلى الحافظة
كيف يعمل
- مراقبة المسار: يستمع الـ hook لتغيّرات
localeالخاصة بالمستخدم. - كشف عمليات إعادة الكتابة: يتحقق من
window.location.pathnameالحالي مقابل قواعد إعادة الكتابة في تكوينك. - تصحيح عنوان URL: إذا وُجدت تسمية محلية أجمل للمسار الحالي، يقوم الـ hook بتشغيل
window.history.replaceStateلتحديث شريط العنوان مع إبقاء المستخدم على نفس الصفحة داخليًا.
لماذا تستخدمه في Next.js؟
بينما يتولى intlayerMiddleware التعامل مع إعادة الكتابة على مستوى الـserver-side وإعادة التوجيهات الأولية، يضمن الـhook useRewriteURL بقاء عنوان المتصفح متسقًا مع بنية الـSEO المفضلة لديك حتى بعد الانتقالات على الـclient-side.
- عناوين URL نظيفة: يفرض استخدام مقاطع مترجمة محليًا مثل
/fr/essaisبدلاً من/fr/tests. - الأداء: يحدث شريط العنوان دون تحفيز دورة كاملة للـrouter أو إعادة جلب البيانات.
- مواءمة SEO: يمنع مشاكل المحتوى المكرر من خلال ضمان ظهور نسخة واحدة فقط من عنوان URL للمستخدم وروبوتات محركات البحث.