Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mendapatkan URL Asas Secara Pemrograman dalam PHP?

Bagaimanakah Saya Boleh Mendapatkan URL Asas Secara Pemrograman dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-04 14:55:11
asal
241 orang telah melayarinya

How Can I Programmatically Get the Base URL in PHP?

Mendapatkan URL Asas dalam PHP

Dalam persekitaran pembangunan anda, di mana anda menggunakan URL tempatan seperti http://127.0. 0.1/test_website/, ia boleh berguna untuk mendapatkan URL asas secara pemrograman untuk pelbagai fungsi. Walau bagaimanapun, kaedah yang biasa digunakan seperti dirname(__FILE__) dan basename(__FILE__) tidak akan menghasilkan output yang diingini.

Penyelesaian 1:

Untuk mendapatkan URL asas dengan tepat, anda boleh menggunakan perkara berikut kod:

<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>
Salin selepas log masuk

Pendekatan ini menggunakan $_SERVER pembolehubah pratakrif untuk mengakses nama pelayan dan meminta URI, membina URL asas dengan berkesan.

Penyelesaian 2 (untuk Menyokong HTTPS):

Jika anda perlu menyokong HTTPS juga, pertimbangkan untuk menggunakan fungsi berikut:

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

Awas:

Apabila bergantung pada kekunci SERVER_NAME, pastikan konfigurasi Apache anda disediakan dengan betul. Jika tidak, anda harus menyatakan secara eksplisit nama pelayan dalam konfigurasi hos maya anda:

<VirtualHost *>
    ServerName example.com
    UseCanonicalName on
</VirtualHost>
Salin selepas log masuk

Nota Tambahan:

Menggunakan kekunci HTTP_HOST memerlukan pembersihan tambahan untuk memastikan aksara yang sah untuk domain. Pertimbangkan untuk menggunakan fungsi parse_url terbina dalam PHP untuk tujuan ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan URL Asas Secara Pemrograman dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan