سؤال

كيف يمكنك الحصول على إحالة HTTP عند إعادة توجيهها من موقع ويب آخر ، وليس عند النقر على رابط لأنه سيعمل من أجله $_SERVER['HTTP_REFERER'], ، لكنه لا يعمل عندما يتم إعادة توجيه المستخدم على شبكة الإنترنت وسيكون المرجع فارغًا.

ماذا ستكون طريقة الحصول على المرجع؟

هل كانت مفيدة؟

المحلول

كيف يمكنك الحصول على إحالة HTTP عند إعادة توجيهها من موقع ويب آخر

لا يمكنك. إذا حدث إعادة التوجيه تحت سيطرتك ، فيمكنك إضافة المرجع الأصلي كمعلمة ، ولكن إذا لم يفعل إعادة التوجيه الخارجي ذلك ، فلن يكون لديك طريقة للاحتفاظ بالمعلومات.

نصائح أخرى

مثال على كيف فعلت ذلك. قل أن لدينا 3 صفحات ، واحدة تدعو إلى التالي.

page1.com -> page2.com -> page3.com.

في page2.com احصل على page1.com باستخدام:

$referrer = $_SERVER['HTTP_REFERER'];//=page1.com

عند إعادة التوجيه إلى Page3 ، أرسل $ Poinrer كمعلمة GET

page3.com?referrer=$referrer

في Page3 ، اقرأ إحالة $ من GET.

$initialReferrer = $_GET['referrer'];//=page1.com
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top