مولّد كود إعادة التوجيه 301

اكتب العنوان القديم والجديد، واختر نوع التوجيه وما الذي ينتقل، ثم اختر خادمك. تحصل على الملف الدقيق للحفظ، مكتوباً بصياغة ذلك الخادم.

مجانية تعمل داخل متصفحك آخر مراجعة: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة

مسار مثل /old-page/، أو عنوان كامل مثل https://old.example.com/old-page/. يطابق الخادم المسار فقط.

العنوان الكامل الذي ينبغي أن يصل إليه الزوار، ويبدأ بـ https:// أو http://.

301 و308 تعني أن النقل دائم. 302 و307 تعني أنه مؤقت.

النتيجة

قاعدة Cloudflare — الحقول التي تملؤها في لوحة التحكم. لا تستخدم هذه الأداة واجهة Cloudflare البرمجية.
Apache: .htaccess
إعدادات nginx
IIS: web.config
ملف Caddyfile
Netlify: _redirects
صفحة HTML للتوجيه

تعمل هذه الأداة داخل متصفحك. ما تكتبه فيها لا يُرسل إلينا.

طريقة الاستخدام

  1. اكتب العنوان القديم أو المسار في العنوان القديم أو المسار، مثل /old-page/.
  2. اكتب العنوان الجديد في العنوان الجديد، ثم اختر نوع التوجيه وما الذي يُوجَّه.
  3. اختر الخادم أو المنصة. يظهر الكود في النتيجة، مع زري نسخ وتنزيل.
  4. احفظ الملف على خادمك، ثم افحص كل توجيه بأداة طلبات قبل أن تعتمد عليه.

كيف تطابق القاعدة

قاعدة المسار تطابق المسار الذي تكتبه وترسل الزائر إلى العنوان الجديد. وقاعدة الصفحة تطابق تلك الصفحة وحدها، بالشرطة المائلة الأخيرة أو بدونها. وقاعدة المجلد تطابق المجلد وكل عنوان تحته، وتنقل بقية المسار إلى المجلد الجديد.

قاعدة المضيف تطابق اسم المضيف للعنوان القديم. وقاعدة النطاق تنقل المسار وسلسلة الاستعلام إلى المسار نفسه على النطاق الجديد. وقاعدة الانتقال من http إلى https تطابق الطلبات الواردة عبر http، وقاعدتا www تطابقان اسم مضيف واحداً في كل منهما.

  • قواعد الخادم تحفظ سلسلة الاستعلام، فيصبح /old-page/?ref=1 هو /new-page/?ref=1.
  • يُولَّد تعبير منتظم من المسار: نقاطه وأقواسه وسائر محارفه الخاصة تُهرَّب، فتطابق القاعدة النص الذي كتبته.

أي رمز حالة تختار

يقول دليل إعادة التوجيه لدى Google: ”تعني رمزا الحالة 301 و308 أن الصفحة نُقلت بشكل دائم إلى موقع جديد.“ ويضع الدليل 302 و307 ضمن التوجيهات المؤقتة، ويذكر نقل الموقع إلى نطاق جديد حالة معتادة: ”أنت نقلت موقعك إلى نطاق جديد، وتريد أن يكون الانتقال سلساً قدر الإمكان.“ ويضيف: ”استخدم التوجيهات الدائمة حين تكون متأكداً من أن التوجيه لن يُلغى.“

يطلب التوجيه الدائم من محركات البحث أن تعرض العنوان الجديد في نتائجها. أما التوجيه المؤقت فيُبقي العنوان القديم في النتائج، وهذا صحيح فقط حين يُتوقع عودة الصفحة القديمة.

الفروق بين الخوادم

تكتب كل خادم التوجيهات بطريقة مختلفة، وبعضها لا يقبل كل الرموز. تكتب هذه الأداة أقرب رمز يدعمه كل خادم، وتقول ذلك في النتيجة.

  • يدعم IIS URL Rewrite الرموز 301 و302 و303 و307 ولا يدعم 308، لذلك يصبح اختيار 308 هناك 301.
  • توثّق Netlify الرمز 302 بدلاً من 307 ولا تذكر 308، لذلك يصبح 307 هو 302، ويصبح 308 هو 301.
  • يطابق Redirect في mod_alias التابع لـ Apache بادئة، بينما يطابق RewriteRule في mod_rewrite المسار الدقيق الذي تعطيه.
  • قاعدة Single Redirect في Cloudflare قاعدة في لوحة التحكم. تعرض هذه الأداة حقولها، ولا تنشئ القاعدة بنفسها.

Meta refresh وJavaScript: الملاذ الأخير

يرتّب دليل Google أنواع التوجيه بحسب احتمال أن تفسرها Google تفسيراً صحيحاً: توجيهات الخادم أولاً، ثم meta refresh، ثم JavaScript. وتقول Google إن meta refresh الفوري بمدة 0 ثانية يُفسَّر توجيهاً دائماً، والمؤجل توجيهاً مؤقتاً.

وتقول Google أيضاً: ”استخدم توجيهات JavaScript فقط إن تعذّرت توجيهات الخادم أو meta refresh.“ وتضيف أن العرض قد يفشل، فقد لا ترى Google توجيه JavaScript أبداً. وتستخدم صفحة HTML في هذه الأداة meta refresh بمدة 0 ثانية للرمزين 301 و308، وبمدة 5 ثوانٍ للرمزين 302 و307.

مثال: صفحة واحدة نُقلت بالرمز 301

أدخل /old-page/ عنواناً قديماً، و https://example.com/new-page/ عنواناً جديداً، و301 نوعاً للتوجيه، وصفحة واحدة نطاقاً. نتيجة Apache هي سطر RewriteRule أدناه، ويحصل كل خادم آخر على ملفه الخاص بالوجهة نفسها.

تطابق القاعدة الصفحة الدقيقة، بالشرطة المائلة الأخيرة أو بدونها، وتحفظ قواعد الخادم سلسلة الاستعلام. وحقول Cloudflare هي العبارة والهدف الثابت مع رمز الحالة 301.

الخادم الملف السطر الذي ينفّذ التوجيه
Apache .htaccess RewriteRule ^old-page/?$ https://example.com/new-page/ [R=301,L,QSA]
nginx nginx-redirect.conf return 301 "https://example.com/new-page/$is_args$args";
Caddy Caddyfile redir @page "https://example.com/new-page/{?query}" 301
Netlify _redirects /old-page https://example.com/new-page/ 301
Cloudflare حقول لوحة التحكم Custom filter expression: (http.request.uri.path eq "/old-page" or http.request.uri.path eq "/old-page/")
صفحة HTML redirect.html سمة meta refresh: content="0; url=https://example.com/new-page/"

الأسئلة الشائعة

هل أستخدم 301 أم 302؟

استخدم 301 حين تكون الصفحة القديمة قد نُقلت نهائياً، فتعرض محركات البحث العنوان الجديد. واستخدم 302 فقط حين يكون النقل مؤقتاً، مثلاً أثناء الصيانة.

هل 308 هو نفسه 301؟

كلاهما يعني أن الصفحة نُقلت بشكل دائم. ويحفظ 308 طريقة الطلب، فيبقى POST على POST، بينما قد يحوّل 301 الطلب إلى GET. ولا يدعم IIS URL Rewrite الرمز 308، لذلك تكتب هذه الأداة 301 لـ IIS.

لماذا يغطي سطر Redirect في Apache أكثر من RewriteRule؟

توجيه Redirect يطابق بادئة، فيرسل أيضاً /old-page/anything إلى العنوان الجديد. أما RewriteRule فيطابق الصفحة الدقيقة وحدها، لذلك هو السطر النشط في النتيجة.

هل ترسل هذه الأداة شيئاً إلى خادمي أو إلى Cloudflare؟

لا. يُكتب الكود في متصفحك، ولا يغادر الصفحة شيء مما تكتبه. وقاعدة Cloudflare تُنشأ في اللوحة يدوياً، لذلك تعرض الأداة حقولها بدلاً من ذلك.

لماذا يكون meta refresh الملاذ الأخير؟

يرتّب دليل Google الطرق: توجيهات الخادم أولاً، ثم meta refresh، وJavaScript أخيراً. وملف الصفحة يرسل الزوار أيضاً إلى عنوان واحد، لذلك يحتاج المجلد أو النطاق كله إلى قاعدة في الخادم.

لماذا يصبح 307 في Netlify رمز 302؟

تقول خيارات إعادة التوجيه في Netlify استخدام 302 بدلاً من 307، لأنها لا تدعم 307. ويحمل الملف تعليقاً يذكر ذلك.

المصادر

آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.

نستخدم ملفات تعريف ارتباط ضرورية لتشغيل الموقع. وبموافقتك، تستخدم Google أيضاً ملفات تعريف ارتباط للإعلانات، لعرض إعلانات مخصصة. وإذا رفضتها، فستظل ترى إعلانات، لكنها لن تكون مخصصة لك.