Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Dapatkan URL Pangkalan dalam PHP untuk Pembangunan Tempatan?

Bagaimanakah Saya Boleh Dapatkan URL Pangkalan dalam PHP untuk Pembangunan Tempatan?

DDD
DDDasal
2024-12-05 00:24:10292semak imbas

How Can I Retrieve the Base URL in PHP for Local Development?

Mendapatkan URL Asas dengan PHP

Apabila bekerja pada persekitaran pembangunan tempatan, mendapatkan semula URL asas boleh menjadi tugas biasa. Dalam XAMPP pada Windows Vista, URL asas biasanya dalam bentuk http://127.0.0.1/test_website/. Artikel ini menunjukkan cara untuk mendapatkan semula URL asas ini menggunakan PHP.

Menggunakan Pembolehubah $_SERVER

Satu kaedah yang berkesan ialah menggunakan pembolehubah pratakrif $_SERVER, yang menyediakan maklumat tentang permintaan semasa. Untuk mendapatkan URL asas, anda boleh menggunakan kod berikut:

echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

Menyokong HTTPS

Jika anda bercadang untuk menyokong HTTPS, anda boleh menggunakan fungsi berikut:

function url() {
  return sprintf(
    "%s://%s%s",
    isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http',
    $_SERVER['SERVER_NAME'],
    $_SERVER['REQUEST_URI']
  );
}

echo url();

Konfigurasi Apache

Untuk memastikan anda boleh menggunakan kunci SERVER_NAME dengan selamat, adalah disyorkan untuk mengkonfigurasi Apache dengan betul. Tambahkan baris berikut pada konfigurasi Hos Maya Apache anda:

<VirtualHost *>
    ServerName example.com
    UseCanonicalName on
</VirtualHost>

Berhati-hati apabila Menggunakan HTTP_HOST

Jika anda bergantung pada kunci HTTP_HOST, yang mengandungi input pengguna, anda mesti membersihkannya dengan teliti. Alih keluar sebarang aksara tidak sah yang tidak dibenarkan dalam nama domain. Rujuk fungsi parse_url PHP untuk panduan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan URL Pangkalan dalam PHP untuk Pembangunan Tempatan?. 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