jonathanbj_A_guy_at_a_computer_erstellt_wildcard_redirects-php
Startseite > Internetmarketing und seo blog > Technisch > Wildcard-Umleitungen in php erstellen

Wildcard-Umleitungen in php erstellen

In PHP können Sie Wildcard-Redirects erstellen, indem Sie reguläre Ausdrücke verwenden, um Muster in den angeforderten URLs zu finden und dann anhand dieser Muster umzuleiten. Sie können dies mit der Methode preg_match() Funktion, um die URL mit einem regulären Ausdruck abzugleichen, und verwenden Sie dann header("Standort: ...") um die Umleitung durchzuführen.

Das folgende Beispiel zeigt, wie Sie in PHP mit Hilfe regulärer Ausdrücke einen Wildcard-Redirect erstellen können:

// Abrufen der angeforderten URL
$requestUri = $_SERVER['REQUEST_URI'];

// Definieren Sie reguläre Ausdrucksmuster für den Abgleich bestimmter Muster
$pattern = '/^\/user\/(\d+)\/?$/'; // Dieses Muster entspricht URLs wie /user/{user_id}/

// Prüfen, ob die angeforderte URL mit dem Muster übereinstimmt
if (preg_match($pattern, $requestUri, $matches)) {
    // Extrahiere die Benutzer-ID aus der URL
    $userId = $matches[1];
    
    // Weiterleitung zu einer bestimmten Benutzerprofilseite
    header("Standort: /profile.php?user_id=$userId");
    exit();
} else {
    // Andere Fälle behandeln oder eine Fehlerseite anzeigen
    echo "Seite nicht gefunden";
}

In diesem Beispiel wird das Muster des regulären Ausdrucks '/^\/user\/(\d+)\/?$/' entspricht URLs wie /benutzer/{benutzer_id}/. Wenn die angeforderte URL mit diesem Muster übereinstimmt, wird die Benutzer-ID extrahiert und zu einer bestimmten Benutzerprofilseite weitergeleitet. Sie können das Muster des regulären Ausdrucks so ändern, dass es auf verschiedene URL-Muster passt, je nach Ihren Anforderungen.

Alle Unterdomänen umleiten (z. B. www und nichtwww)

Um alle angegebenen Versionen von Subdomains auf dasselbe Ziel umzuleiten, können Sie den folgenden Code verwenden:

// Abrufen der angeforderten URL
$requestUri = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

// Muster für reguläre Ausdrücke zum Abgleich verschiedener Subdomänen und des Stammverzeichnisses definieren
$pattern = '/^(www\.)?example\.com\/?$/i';

// Prüfen, ob die angeforderte URL mit dem Muster übereinstimmt
if (preg_match($pattern, $requestUri)) {
    // Umleitung zum gewünschten Ziel (in diesem Fall das Stammverzeichnis der Website)
    header("Standort: https://example.com/");
    exit();
} else {
    // Behandeln Sie andere Fälle oder zeigen Sie eine Fehlerseite an
    echo "Seite nicht gefunden";
}

In diesem Code wird der reguläre Ausdruck '/^(www\.)?example\.com\/?$/i' entspricht URLs wie http://example.com/, https://example.com/, http://wwwexample.com/und https://wwwexample.com/ Fall-insensitiv. Wenn die angeforderte URL mit diesem Muster übereinstimmt, wird sie umgeleitet zu https://example.com/. Wenn die URL nicht diesem Muster entspricht, können Sie andere Fälle behandeln oder bei Bedarf eine Fehlermeldung anzeigen.

Bitte beachten Sie, dass Sie das Muster des regulären Ausdrucks möglicherweise an Ihre spezifischen Anforderungen oder Domänenvarianten anpassen müssen. Die i Modifikator im Muster des regulären Ausdrucks macht den Abgleich unabhängig von der Groß- und Kleinschreibung, so dass er auch Variationen in der Großschreibung abbilden kann.

Bitte beachten Sie, dass die Handhabung von Umleitungen auf diese Weise leistungsfähig sein kann, aber auch eine sorgfältige Berücksichtigung der verwendeten regulären Ausdrücke erfordert, um unbeabsichtigte Übereinstimmungen und Umleitungsschleifen zu vermeiden.