Dennis: macht .htaccess langsam?

Beitrag lesen

Hi Donald,

Nun wird mir gesagt, dass ich damit den Apache deutlich bremsen würde, da diese .htaccess-Datei jede Menge I/O auf dem Server produziert (muss ja dauernd gelesen werden).

Das stimmt so erst mal nicht - moderne Betriebssysteme cachen die Zugriffe auf häufig benötigte Dateien, sodass nicht jeder Leseversuch des Apaches wirklich einen Festplattenzugriff erzeugt. Desweiteren könnte ich mir sehr gut vorstellen, dass der Apache die Daten aus der .htaccess auch zumindest kurzzeitig cached.

Ist das merklich? [...] Oder soll der Bereich ausgelagert werden um dann als Virtueller Host anderst behandelt zu werden?

Das eigentliche Problem ist ein anderes. Auch wenn die .htaccess Datei nicht existiert, dann muss der Apache natürlich einen entsprechenden Betriebssystem-Aufruf starten um dies erst mal herauszufinden. Sprich: Der Apache muss in jedem Fall (egal ob die .htaccess existiert oder nicht) nachschauen ob eine existiert.

Dieses Problem wirst du immer haben, solange du es nicht mit AllowOverride None umgehst. Dann guckt der Apache grundsätzlich nicht nach einer .htaccess-Datei (somit Performance-Gewinn), dafür kannst du keine Konfigurationen ohne Server-Neustart vornehmen.

Für eine stark frequentierte Seite würde ich allerdings in der Tat dazu tendieren, AllowOverride auf None zu setzen und sämtliche notwendigen Konfiguration im VirtualHost in einem Directory-Container vorzunehmen. Dies hat unter anderem den Vorteil, dass dir nicht jemand durch Unterschieben einer fremden .htaccess das System lahmlegen kann.

Viele Grüße,
  ~ Dennis.