كيفية الحصول على الرابط الكامل للصفحة الحالية في PHP؟
مرحباً بالجميع! أنا مطور PHP مبتدئ، وقد واجهت مشكلة. أحتاج إلى الحصول على الرابط الكامل للصفحة الحالية، بما في ذلك البروتوكول (http أو https)، النطاق، المسار، وجميع معاملات GET. جربت عدة طرق، لكن في كل مرة يحدث خطأ ما.
حاولت استخدام `$_SERVER['REQUEST_URI']` — فهو يُرجع المسار فقط، مثلاً `/page.php?id=5`، بدون النطاق والبروتوكول. و `$_SERVER['HTTP_HOST']` يُعطي النطاق فقط، مثلاً `example.com`. إذا قمت بدمجهما عبر `echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI"];`، فعند العمل عبر HTTPS سيصبح البروتوكول خاطئاً — سيبقى `http://`.
كما لاحظت أن `$_SERVER['HTTPS']` أحياناً غير مُعرّف، خاصة على الخادم المحلي. وإذا كانت الصفحة مفتوحة عبر `www` أو بدون `www` — فهذا يؤثر أيضاً. بالإضافة إلى ذلك، بعض خدمات الاستضافة تستخدم منافذ، مثل `localhost:8080`، ويجب أخذها في الاعتبار.
باختصار، أنا مرتبك. أرشدوني إلى الطريقة الصحيحة والموثوقة لجمع الرابط الكامل في PHP بحيث يعمل في أي حالة.