Mendapatkan semula URL Halaman Semasa pada Windows/IIS Servers untuk PHP Redirects
Dalam senario di mana pemasangan WordPress dipindahkan ke folder baharu pada Windows/ Pelayan IIS, menyediakan 301 ubah hala dalam PHP menghadapi cabaran dalam menangkap segmen khusus URL. Artikel ini meneroka isu dan menyediakan penyelesaian untuk mendapatkan bahagian URL yang diingini.
Masalah: Rentetan Kosong dan Nilai Terpenggal
Penyelesaian yang biasa dicadangkan, seperti menggunakan $ _SERVER["REQUEST_URI"], menghasilkan rentetan kosong pada pelayan IIS. Begitu juga, $_SERVER["PHP_SELF"] hanya mengembalikan "index.php", tanpa mengetepikan segmen "/post-title/" URL yang penting.
Penyelesaian: Memanfaatkan $_SERVER['PATH_INFO ']
Pelayan IIS menyediakan pembolehubah alternatif, $_SERVER['PATH_INFO'], yang menyelesaikan isu ini dengan berkesan. Pembolehubah ini mendapatkan semula laluan sumber yang diminta berbanding dengan direktori akar yang dipasang pelayan.
Dalam contoh yang disediakan, dengan URL mengikut format "/OLD_FOLDER/index.php/post-title/", $_SERVER['PATH_INFO '] akan menghasilkan "/post-title/". Nilai ini kemudiannya boleh digunakan untuk membina laluan ubah hala yang dikehendaki.
Kesimpulan
Dengan memanfaatkan $_SERVER['PATH_INFO'] dalam persekitaran IIS, pembangun boleh menangkap dengan tepat Segmen URL diperlukan untuk ubah hala 301, memastikan penghijrahan tapak web yang lancar dan ubah hala trafik yang betul daripada URL lama kepada URL baharu.
Atas ialah kandungan terperinci Bagaimana untuk Menangkap Segmen URL Khusus untuk 301 Redirect pada Pelayan Windows/IIS dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!