
Ich versuche herauszufinden, wie ich viele URLs in Bezug auf Leistung und Bedienbarkeit am besten dauerhaft weiterleiten kann. Bisher sind mir drei Möglichkeiten eingefallen:
- .htaccess - Umschreibregel
- PHP-Header-Funktion sucht nach passenden URLs in einem Array
- PHP-Header-Funktion sucht in einer MySql-Datenbank
Es geht nicht darum, eine ganze Domain weiterzuleiten, sondern nur einige URLs von Domains. Wie zum Beispiel, wenn sich Produktnamen ändern vonetwasZuirgendetwas anderes:
www.example.com/something > www.example.com/anything_else
während URLs wiewww.example.com/völlig_andersbleibt unberührt.
Antwort1
Wenn Sie den Spagat zwischen Verwaltbarkeit und Leistung suchen, schlage ich einen zweistufigen Prozess vor (wir verwenden denselben für unsere HTTP-Routing-Konfiguration):
- URLs sind zur einfachen Wartung in der Datenbank vorhanden
- Ein Skript (Bash, PHP, was auch immer) erstellt ein PHP-Skript aus der Datenbank und einer Vorlage, definiert ein Array mit dem ursprünglichen Pfad als Schlüssel und dem neuen Pfad als Wert, sucht dann den angeforderten Dokumentpfad und leitet, wenn er gefunden wird, auf den neuen um, wenn nicht, zeigt es eine 404-Fehlermeldung an. Dieses „Skript zum Erstellen von Skripten“ wird ausgeführt, wenn sich die Datenbank ändert
- Das generierte Skript wird als 404-Fallback verwendet
Wenn Sie HHVM oder einen Opcode-Cache verwenden, geht das rasend schnell: Der Code selbst ist fertig und es muss lediglich eine Hashtabellensuche durchgeführt werden.