Unser Unternehmen ändert die Web-Plattformen und wir möchten unsere Google-Ergebnisse beibehalten können. Daher planen wir, die 301-Weiterleitungen in unsere htaccess-Datei zu integrieren.
Meine Sorge ist, dass, wenn ich all diese Weiterleitungen einfüge (wahrscheinlich 3000 - 5000 insgesamt), wird es den Server verlangsamen, wenn es all diese Überprüfungen durchführt.
Weiß jemand, wenn eine so große htaccess-Datei Probleme verursacht? Ich habe einen ziemlich schnellen Server für die Seite (8 Kerne), so dass ich ziemlich viel Pferdestärke zur Verfügung habe.
Ich bezweifle, dass es den Server merklich verlangsamen würde. Aber schau es dir zuerst an.
Erstellen Sie eine .htaccess 5k Liniendatei im www / temp-Ordner mit einigen Rewrite-Regeln, die Sie verwenden werden. Sehen Sie, wie lange es dauert, um mit und ohne die .htaccess-Datei auf eine Seite zuzugreifen.
Die anderen Antworten haben einige gute Vorschläge, aber wenn Sie keine Alternative zum Umschreiben von Regeln verwenden, würde ich Ihnen dringend empfehlen, diese Zeilen in die Konfigurationsdatei des Hauptservers einzufügen anstatt in eine .htaccess
-Datei. Auf diese Weise analysiert Apache sie beim Starten nur einmal und kann einfach auf eine interne Datenstruktur verweisen, anstatt bei jeder Anfrage nach der Datei .htaccess
suchen zu müssen. Tatsächlich empfehlen die Apache-Entwickler die Verwendung von .htaccess
files überhaupt nicht, es sei denn, Sie haben keinen Zugriff auf die Hauptserverkonfiguration. Wenn Sie .htaccess
files nicht verwenden, können Sie
in der Hauptkonfiguration, und dann muss Apache nicht einmal Zeit damit verbringen, nach den Dateien zu suchen. Auf einem ausgelasteten Server könnte dies eine nützliche Optimierung sein.
Eine andere Sache, die Sie in Erwägung ziehen könnten (in Verbindung mit dem oben genannten), ist die Verwendung der Direktive RewriteMap
, um das Umschreiben von URLs in ein externes Programm auszulagern. Sie könnten dieses externe Programm schreiben, um beispielsweise die alten URLs in einer Hashtabelle zu speichern, oder welche Art von Optimierung auch immer angebracht ist.
Hmm. Ich habe keine festen Zahlen, ob Apache Leistungsprobleme mit so vielen Weiterleitungen haben könnte, aber ich würde mich unwohl fühlen, solche riesigen htaccess-Dateien zu haben, die auf jeder Anfrage geparst werden, egal ob neu oder alt URL
Wenn es mir möglich ist, tendiere ich dazu, die Übereinstimmung von "alten" URLs mit neuen mit einer serverseitigen Sprache und einer Datenbanktabelle für die Suche zu behandeln, und sei es nur zur leichteren Wartung.
Ob und wie das möglich ist, hängt von Ihrer alten und neuen URL-Struktur ab. Wenn zum Beispiel alle alten URLs eine gemeinsame Struktur wie
hatten %Vor%das von der neuen Struktur getrennt werden kann, würde ich den gesamten "alten" Datenverkehr in eine zentrale Skriptdatei umleiten (was auch immer Ihre Serverplattform ist, ASP, PHP ...) und dort eine einfache Suche und Headerumleitung durchführen.