يمكن لأي شخص أن يرسل. لكن إعادة التوجيه بشكل صحيح هو فن كامل. لكن إعادة توجيه المستخدمين إلى المسار الصحيح على الإنترنت أمر أكثر صعوبة. إن إعادة التوجيه إلى php هي الأنسب لهذا الغرض.
أي نوع من إعادة التوجيه؟في برمجة الويب، تنشأ مواقف عندما تحتاج إلى إعادة توجيه مستخدم باتباع رابط إلى عنوان آخر. وبطبيعة الحال، للوهلة الأولى، يبدو تنفيذ عملية إعادة التوجيه هذه "غير قانوني" إلى حد ما. من الناحية العملية، فإن عملية إعادة التوجيه هذه مطلوبة ليس فقط بين المهاجمين، ولكن أيضًا بين مشرفي المواقع الشرفاء:
في أي الحالات قد تكون هناك حاجة لإعادة التوجيه:
على عكس اللغات الأخرى، تتمتع PHP ببعض المزايا في تنفيذ عمليات إعادة التوجيه:
لإعادة التوجيه في PHP، يتم استخدام الدالة header(). يتم استخدامه لإرسال رأس http. بناء الجملة الخاص به هو:
رأس فارغ (سلسلة $string [، bool $replace = true [، int $http_response_code ]])
الحجج المقبولة من قبل الدالة:
هناك نوعان من هذه الحجة. الأول هو إرسال رمز حالة الاتصال. يبدأ بـ "HTTP/". يرسل النوع الآخر رمز الحالة (إعادة التوجيه 302) إلى متصفح العميل مع الرأس. تبدأ هذه الوسيطة بـ "الموقع:"
يعد رمز حالة HTTP جزءًا من السطر العلوي لاستجابة الخادم. يتكون الكود من ثلاثة أرقام، يليها نص توضيحي باللغة الإنجليزية. الرقم الأول هو المسؤول عن فئة الحالة. تتوافق عملية إعادة التوجيه مع الرموز من 300 إلى 307. ويمكن العثور على وصفها الكامل في الوثائق الفنية المقابلة.
عند استخدام وظيفة header() لإعادة توجيه الروابط الخارجية، فإن موقع استدعائها له أهمية كبيرة. في الكود يجب أن يكون موجودًا فوق كل علامات html:
لتوضيح وظيفة الوظيفة على خادم محلي، تحتاج إلى إنشاء ملفين. لنستدعي أحدهما redirect.php والآخر redirect2.php . داخل الأول سنقوم بإجراء استدعاء دالة بالتنسيق التالي:
وفي ملف آخر نضع السطر:
صدى "مرحبًا! أنت في ملف redirect2.php";
بعض الأمثلة العملية لاستخدام إعادة التوجيه إلى php:
إعادة الكتابة ممكنة أيضًا على مرحلتين. يعيد السطر الأول كتابة رمز الحالة، ويعيد السطر الثاني التوجيه إلى عنوان جديد:
اضغط علي
رمز ملف Redirect3.php:
حسنًا، ها نحن نتعلم أساسيات إعادة التوجيه في PHP. يمكنك الآن تولي مهمة إعادة توجيه المستخدمين في الاتجاه الصحيح بأمان. الشيء الرئيسي هو عدم ارتكاب خطأ في الاتجاه، وإلا فإنك ستقود جميع المستخدمين إلى موقع شخص آخر...
التنقل السريع في هذه الصفحة:
إذا قررت كتابة برنامج نصي وإعادة توجيه PHP، فإن مزايا هذه الخطوة واضحة: PHP هي لغة برمجة نصية موجهة للخادم؛ سيتم تنفيذ إعادة التوجيه من خلال برنامج نصي موجود على الخادم، وليس في متصفح الزوار. يمكن إجراء بعض عمليات إعادة التوجيه من جانب العميل - من خلال إعادة توجيه js (أي من خلال إعادة توجيه JavaScript).
يعد هذا أسلوبًا أكثر مرونة وتنوعًا، ويمكنك تنفيذ أنواع متعددة من عمليات إعادة التوجيه في PHP، على عكس الطرق الأخرى. فيما يلي أكثر أنواع إعادة التوجيه شيوعًا التي يمكن إجراؤها في PHP: أ) إعادة التوجيه 301 PHP (حالة إعادة التوجيه الدائمة)، ب) إعادة التوجيه 302 PHP (حالة إعادة التوجيه المؤقتة)، ج) التحديث.
ستكون هذه المقالة مفيدة في المقام الأول لمشرفي المواقع المبتدئين الذين يبحثون عن طرق لتنفيذ إعادة توجيه عنوان URL إذا لم يكن ذلك ممكنًا باستخدام حلول شائعة أخرى مثل Htaccess.
PHP رأس لغة الوظيفةعلى سبيل المثال، لنفترض أنك تريد إعادة التوجيه إلى عنوان URL هذا http://www.somewebsite.com/target.php. في PHP مصدر الصفحة، تحتاج ببساطة إلى استدعاء البرنامج النصي لإعادة التوجيه هذا:
جرب أيضًا هذه التجربة البسيطة على الاستضافة المحلية لديك:
1) افتح محرر النصوص وأدخل هذا الرمز:
احفظه باسم targetpage.php.
2) افتح ملفًا نصيًا فارغًا آخر وأدخل هذا الرمز:
احفظه باسم Originatingpage.php.
3) الآن قم بتشغيل متصفح الويب الخاص بك. في شريط عنوان المتصفح الخاص بك، أدخل: http://localhost/originatingpage.php
4) ستلاحظ أنه بعد الضغط على زر الإدخال، فإن عنوان URL هذا: http://localhost/originatingpage.php يعيد التوجيه إلى http://localhost/targetpage.php وإلى targetpage.php، وسترى الكلمات "مرحبًا، هذا هو المخطوطة "-x".
يمكن إخفاء أحد الأخطاء الأكثر شيوعًا في تصميم كود إعادة التوجيه html:
جرب هذه التجربة:
انتقل إلى البرنامج النصي Originatingpage.php وأضف أي علامة HTML:
header('الموقع: http://localhost/targetpage.php');
لنفترض أن لديك رمزًا مثل هذا:
وهذا خطأ في إعادة التوجيه