Kann eine .htaccess-Datei zu groß sein

8

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.

    
Josh Pennington 30.06.2010, 20:52
quelle

4 Antworten

3

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.

    
Byron Whitlock 30.06.2010, 20:59
quelle
2

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

festlegen %Vor%

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.

    
David Z 30.06.2010 21:05
quelle
1

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.

    
Pekka 웃 30.06.2010 20:58
quelle
0

Nach den Referenzdokumenten: Ссылка Ich nehme an, dass es wäre, alle 3k x2 zu verarbeiten auf jede Anfrage.

Außerdem wäre es wohl ungemütlich, diese Regeln zu ändern - manuell ist es ...

    
f13o 30.06.2010 21:01
quelle

Tags und Links