Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Dapatkan URL Penuh dalam PHP, Walaupun dengan Topeng .htaccess?

Bagaimanakah Saya Boleh Dapatkan URL Penuh dalam PHP, Walaupun dengan Topeng .htaccess?

Linda Hamilton
Linda Hamiltonasal
2024-12-21 00:02:08967semak imbas

How Can I Get the Full URL in PHP, Even with .htaccess Masks?

Cara Mendapatkan URL Lengkap dalam PHP

Untuk menentukan URL penuh halaman web atau aplikasi, PHP menyediakan pelbagai mekanisme. Satu kaedah yang biasa digunakan ialah menggunakan gabungan $_SERVER['HTTP_HOST'] dan $_SERVER['PHP_SELF'], seperti yang dipamerkan dalam blok kod yang disebut dalam soalan asal.

Kaveat dengan pendekatan ini timbul apabila topeng dilaksanakan dalam fail .htaccess. Topeng ini berpotensi mengubah URL yang dipaparkan dalam bar alamat, menjadikannya berbeza daripada laluan sebenar fail pada pelayan. Untuk mengatasi isu ini dan mendapatkan semula URL yang muncul dengan tepat dalam bar navigasi penyemak imbas, pertimbangkan untuk memanfaatkan pembolehubah $_SERVER['REQUEST_URI'].

$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Perlu ambil perhatian bahawa rentetan petikan dua disokong sepenuhnya. dalam PHP. Untuk mengendalikan kedua-dua protokol HTTP dan HTTPS dengan lancar, coretan kod berikut boleh digunakan:

$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Pertimbangan Keselamatan:

Ambil maklum bahawa langkah sanitasi dan pengesahan input adalah penting apabila bekerja dengan $_SERVER['HTTP_HOST'] dan $_SERVER['REQUEST_URI'] kerana potensi mereka untuk dimanipulasi oleh pelakon yang berniat jahat. Adalah penting untuk menjaga daripada nilai sewenang-wenang yang ditetapkan untuk pembolehubah ini, terutamanya dalam konteks sensitif keselamatan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan URL Penuh dalam PHP, Walaupun dengan Topeng .htaccess?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn