Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich die Basis-URL programmgesteuert in PHP abrufen?

Wie kann ich die Basis-URL programmgesteuert in PHP abrufen?

Mary-Kate Olsen
Freigeben: 2024-12-04 14:55:11
Original
242 Leute haben es durchsucht

How Can I Programmatically Get the Base URL in PHP?

Abrufen der Basis-URL in PHP

In Ihrer Entwicklungsumgebung, in der Sie eine lokale URL wie http://127.0 verwenden. 0.1/test_website/ kann es nützlich sein, die Basis-URL für verschiedene Funktionen programmgesteuert abzurufen. Häufig verwendete Methoden wie dirname(__FILE__) und basename(__FILE__) erzeugen jedoch nicht die gewünschte Ausgabe.

Lösung 1:

Um die Basis-URL genau zu erhalten, können Sie Folgendes verwenden Code:

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

Dieser Ansatz verwendet die vordefinierte Variable $_SERVER, um auf den Servernamen und den Anforderungs-URI zuzugreifen und so effektiv die Basis-URL zu erstellen.

Lösung 2 (zur Unterstützung von HTTPS):

Wenn Sie auch HTTPS unterstützen müssen, sollten Sie Folgendes in Betracht ziehen Funktion:

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

Achtung:

Wenn Sie sich auf den Schlüssel SERVER_NAME verlassen, stellen Sie sicher, dass Ihre Apache-Konfiguration korrekt eingerichtet ist. Wenn nicht, sollten Sie den Servernamen explizit in Ihrer virtuellen Host-Konfiguration angeben:

<VirtualHost *>
    ServerName example.com
    UseCanonicalName on
</VirtualHost>
Nach dem Login kopieren

Zusätzlicher Hinweis:

Verwenden Sie den Schlüssel HTTP_HOST erfordert eine zusätzliche Bereinigung, um gültige Zeichen für eine Domäne sicherzustellen. Erwägen Sie die Verwendung der in PHP integrierten Funktion parse_url für diesen Zweck.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage