Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah $_SERVER[\"REQUEST_URI\"] Tidak Menyediakan URL Penuh pada Pelayan Windows/IIS?

Mengapakah $_SERVER[\"REQUEST_URI\"] Tidak Menyediakan URL Penuh pada Pelayan Windows/IIS?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 16:16:29831semak imbas

Why Isn't $_SERVER[

Mendapatkan URL Penuh Halaman Semasa pada Pelayan Windows/IIS

Anda telah menghadapi masalah semasa menyediakan 301 ubah hala dalam PHP pada pelayan Windows/IIS. Walaupun menggunakan $_SERVER["REQUEST_URI"], hasil yang dijangkakan tidak diperolehi. Artikel ini bertujuan untuk menjelaskan isu ini dan menyediakan penyelesaian.

Memahami Masalah

Pada pelayan Apache, $_SERVER["REQUEST_URI"] biasanya menyimpan keseluruhan URL. Walau bagaimanapun, pada pelayan Windows/IIS, pembolehubah ini mungkin tidak memberikan hasil yang diingini. Ini kerana IIS menggunakan mekanisme pengendalian permintaan yang berbeza berbanding Apache.

Penyelesaian: Menggunakan $_SERVER['PATH_INFO']

Untuk pelayan Windows/IIS, pembolehubah yang betul untuk digunakan ialah $_SERVER['PATH_INFO']. Pembolehubah ini mengandungi bahagian URL selepas laluan asas skrip. Dalam kes anda, ia ialah "/post-title/".

Contoh Penggunaan

Berikut ialah contoh cara anda boleh menggunakan $_SERVER['PATH_INFO'] dalam kod PHP anda:

<code class="php">$currentURL = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PATH_INFO'];</code>

Kod ini akan memberikan URL penuh, termasuk segmen "/post-title/", kepada pembolehubah $currentURL.

Kesimpulan

Walaupun $_SERVER["REQUEST_URI"] biasanya digunakan untuk tujuan ini, ia mungkin tidak berfungsi seperti yang diharapkan pada pelayan Windows/IIS. Dengan menggunakan $_SERVER['PATH_INFO'] sebaliknya, anda boleh mendapatkan semula URL penuh halaman semasa dengan tepat pada pelayan Windows/IIS.

Atas ialah kandungan terperinci Mengapakah $_SERVER[\"REQUEST_URI\"] Tidak Menyediakan URL Penuh pada Pelayan Windows/IIS?. 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