تُضطر الكثير من المواقع إلى تغيير  الكثير من الروابط المتعلقة بمحتوى الموقع، وفي حال اعتاد المستخدمين على استخدام الروابط القديمة فسيكون ذلك مشكلة على أصحاب الموقع حلها، ولحسن الحظ توجد طرقٌ برمجيةٌ للحل، والتي تجعل المستخدمين قادرين على استخدام الروابط القديمة والحديثة على حدٍ سواءٍ، عبر ما يُسمّى اعادة التوجيه Redirect.

تعريف اعادة التوجيه Redirect

هي وظيفةٌ يقوم بها خادم الويب أو السيرفر وتعني نقل المستخدم من رابطٍ إلى آخر بشكلٍ تلقائيٍّ، ويوجد العديد من الأسباب والطرق التي ينفذ فيها مطورو الويب هذه العملية، وهذه التقنية تجعل من الممكن الوصول إلى صفحةٍ معينةٍ عن طريق أكثر من رابطٍ ولهذه النقطة أهمية كبرى كما سنرى.1

مفهوم اعادة التوجيه Redirect

غالبًا لا يلاحظ المستخدم وجود عملية إعادة توجيه عند دخوله إلى رابطٍ ما، حيث تتم العملية عن طريق السيرفر بحيث يستقبل الطلب الوارد من المستخدم لفتح رابطٍ معينٍ ويعالجه ويعيد للمستخدم رابطًا آخر يتم فتحه تلقائيًا دون تدخل المستخدم، وبالتالي لا يسبب أي مشكلةٍ للمستخدم، وكما سنرى فهناك عدة أنواعٍ لإعادة التوجيه، فمنها تكون دائمةً ومنها مؤقتةً.2

أنواع إعادة التوجيه Redirect

توجه عملية اعادة التوجيه المستخدمين ومحركات البحث إلى عنوانٍ آخر مختلف عن العنوان المطلوب من قبلهم، ولهذه العملية ثلاثة أنواع وهي:

  1. 301 أو إعادة التوجيه النهائية.
  2. 302 أو إعادة التوجيه المؤقتة.
  3. إعادة توجيه خاصة.

اعادة التوجيه الدائمة أو النهائية

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

إعادة التوجيه المؤقتة

يدل عليها الرقم 302 وهي مستخدمةٌ في حال وجود إصلاحاتٍ ضمن الموقع مثلًا بحيث يتم منع المستخدمين من الدخول إلى بعض أو كل روابط الموقع إلى أن تتم إعادة تشغيله، وفي هذه الحالة يشير الرقم 302 إلى حالة “نقل مؤقتًا” أو إلى حالة “موجود” بحسب نسخة البروتوكول HTTP المستخدمة، وتوجد حالةٌ أخرى تشير إلى حالة “نقل مؤقتًا” فقط وهي ذات الرقم 307.

إعادة التوجيه الخاصة

هي نمطٌ آخر من اعادة التوجيه نجده غالبًا في الصفحات التي تحوي مؤقتًا زمنيًّا لبدء عمليةٍ ما وهو يعمل على مستوى الصفحة فقط وغير موصى به، حيث نجده مرفقًا بالعبارة “إذا لم تتم إعادة التوجيه في غضون 10 ثانية اضغط الرابط”.3

توجد عدة أنواعٍ أخرى من إعادة التوجيه، إلا أن ما ذكرناه هي الأنواع الأساسية منها، فمثلًا يمكن للمبرمجين استخدام إعادة التوجيه عند تغيير لغة الموقع وتكون حينها إعادة التوجيه من نوع 300.4

متى يجب استخدام إعادة التوجيه Redirect

تستخدم عمليات اعادة التوجيه ضمن المواقع الإلكترونية بشكلٍ عام عند إجراء تعديلاتٍ على الروابط وتجنبًا لظهور الخطأ 404 للمستخدمين عند فتح الروابط القديمة، فيتم إعادة توجيههم إلى المكان الصحيح للصفحة، وهنا أبرز الأسباب الأخرى لاستخدام إعادة التوجيه:

  1. وجود محتوى مكرر: وهي الحالة التي يوجد فيها أكثر من نسخةٍ من المحتوى ولا يمكن لمحركات البحث معرفة أيٍّ منها هي الصفحة الصحيحة لعرضها على المستخدم، حيث يقوم المبرمجون بإعادة توجيه الصفحة الخاطئة إلى الصفحة الصحيحة، وهنا يستخدم النوع 301 ويضمن تحسين الظهور في محركات البحث.
  2. عملية تغيير النطاق: لا يرغب أصحاب المواقع بفقدان أي رابطٍ شهيرٍ في الموقع عند تغيير النطاق، ولضمان الحفاظ على نفس القيمة ضمن محركات البحث يقوم المبرمجون ببناء عمليات إعادة توجيه من النطاق القديم إلى الحديث.
  3. تعدد النطاقات: يشتري بعض أصحاب المواقع اسم الموقع بعدة نطاقاتٍ للحفاظ على الاسم لهم فقط، وعند القيام بذلك يجب أن يكون الموقع متاحًا في أي من النطاقات التي قد يستخدمها الزائر، وهذا يتطلب عمليات إعادة توجيه من كافة النطاقات إلى نطاقٍ واحدٍ أساسيٍّ يحوي محتوى الموقع.5
  4. الاستجابة لبعض الطلبات: حيث يستجيب السيرفر في بعض الأحيان عن طريق إعادة توجيه المستخدمين إلى صفحاتٍ معينةٍ بشكلٍ مؤقتٍ وخاصةً عند وصول طلبات غير موثوقةٍ أو غير آمنةٍ، أو في حال أراد المبرمج تجنب إرسال عدة طلباتٍ متتاليةٍ فيقوم بإعادة التوجيه فور إرسال الطلب، أو قد تكون اعادة التوجيه للاستجابة للطلبات التي تتطلب مدةً زمنيةً طويلةً في عملية المعالجة فيقوم السيرفر بالرد عن طريق إعادة التوجيه.6

المراجع

  • 1 ، URL Redirect، من موقع: www.techopedia.com، اطّلع عليه بتاريخ 1-9-2019.
  • 2 ، Redirections in HTTP، من موقع: developer.mozilla.org، اطّلع عليه بتاريخ 1-9-2019.
  • 3 ، Redirects، من موقع: moz.com، اطّلع عليه بتاريخ 1-9-2019.
  • 4 ، URL Redirect، من موقع: www.techopedia.com، اطّلع عليه بتاريخ 1-9-2019.
  • 5 ، What are URL Redirects, and Do You Need Any?، من موقع: www.hostgator.com، اطّلع عليه بتاريخ 1-9-2019.
  • 6 ، Redirections in HTTP، من موقع: developer.mozilla.org، اطّلع عليه بتاريخ 1-9-2019.