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']; ?>
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'] ); }
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>
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!