Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die Basis-URL in PHP effizient erhalten?

Wie kann ich die Basis-URL in PHP effizient erhalten?

DDD
DDDOriginal
2024-12-01 17:09:11224Durchsuche

How Can I Efficiently Obtain the Base URL in PHP?

Erhalten der Basis-URL mit PHP

In Webentwicklungsumgebungen wie PHP kann das Erhalten der Basis-URL für verschiedene Zwecke unerlässlich sein. In diesem Artikel wird untersucht, wie Sie diese Aufgabe effektiv lösen können.

Um die Basis-URL abzurufen, wird empfohlen, die vordefinierte Variable $_SERVER zu verwenden. Durch die Kombination der Schlüssel SERVER_NAME und REQUEST_URI bietet diese Methode eine zuverlässige und genaue Möglichkeit, die Basis-URL zu erstellen. Hier ist eine Beispielimplementierung:

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

Dieser unkomplizierte Code verkettet das Protokoll (http://), den Servernamen (127.0.0.1) und den Anforderungs-URI (/test_website/), um die Basis-URL zu erzeugen: http ://127.0.0.1/test_website/.

Für Situationen, in denen HTTPS beteiligt ist, kann eine modifizierte Funktion namens url() verwendet werden beschäftigt:

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

Um eine zuverlässige Verwendung des SERVER_NAME-Schlüssels sicherzustellen, ist es wichtig, Apache entsprechend zu konfigurieren. Der folgende Konfigurationsausschnitt veranschaulicht dieses Setup:

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

Wenn Sie sich außerdem auf den HTTP_HOST-Schlüssel verlassen, sollten Sie darauf achten, Benutzereingaben vor der Verwendung zu bereinigen. Die PHP-Funktion parse_url bietet ein umfassendes Beispiel für den Umgang mit solchen Daten.

Das obige ist der detaillierte Inhalt vonWie kann ich die Basis-URL in PHP effizient erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn