Dokumentation / .htaccess — die zwei Modi und welchen Sie wollen

.htaccess — die zwei Modi und welchen Sie wollen

Wenn Sie etwas zu .htaccess hinzugefügt haben und sich die Website so verhält, als hätten Sie es nicht getan, lesen Sie das zuerst. Nichts ist kaputt — Ihre Website ist wahrscheinlich in dem Modus, der .htaccess übersetzt, statt sie zu lesen, und die Übersetzung deckt gängige Regeln ab, nicht alle.

Öffnen Sie Domains → Apache / .htaccess. Das Abzeichen oben auf der Karte sagt, in welchem Modus diese Website ist.

Die zwei Modi

Übersetzt (der Standard). Ihre .htaccess wird in die eigenen Regeln des schnellen Webservers umgewandelt. Gängige Direktiven funktionieren. Alles, was der Umwandler nicht reproduzieren kann, wird übersprungen und für Sie in der Tabelle unter der Karte aufgelistet. Eine Änderung an der Datei wird erst wirksam, nachdem Sie Translate now drücken — die Datei wird nicht bei jeder Anfrage gelesen.

Volles .htaccess. Ihre Datei wird direkt gelesen, genau wie sie in cPanel war. Jede von Apache unterstützte Direktive funktioniert, und eine Änderung wird bei der allernächsten Anfrage wirksam. Etwas langsamer als der übersetzte Modus, weil jede Anfrage einen zusätzlichen Schritt durchläuft.

Welchen Sie wollen

Bleiben Sie bei Übersetzt, wenn Ihre .htaccess ein WordPress-Permalink-Block, eine Force-HTTPS-Weiterleitung, eine www/non-www-Weiterleitung, eine Redirect-Zeile, ein Schalter für Verzeichnislisten oder ein Basic-Auth-Schutz ist. Das sind die meisten Websites, und das ist der schnellere Weg.

Aktivieren Sie Volles .htaccess, wenn:

  • die Tabelle unter der Karte Direktiven auflistet, die Sie tatsächlich benötigen,
  • Sie PHP-Werte aus .htaccess setzen (php_value, php_flag) — diese werden im übersetzten Modus niemals angewandt, egal was die Datei sagt,
  • Sie SetEnv, SetEnvIf, RequestHeader, AddType, AddHandler oder Rewrite-Regeln mit Bedingungen verwenden, vor denen der Umwandler warnt,
  • oder Sie eine Website von anderswo hereinholen und ihre .htaccess lieber gar nicht prüfen möchten.

Es gibt für die Wahl der vollen Unterstützung keine Strafe außer ein wenig Latenz. Es gibt keine Gebühr, keinen zusätzlichen Schritt danach und keine Konfiguration.

Die Tabelle lesen

Unter der Modus-Karte ist jede Zeile eine Direktive, die der Umwandler nicht reproduzieren konnte, samt ihrer Zeilennummer und dem, was zu tun ist.

  • Im Modus Übersetzt sagt der Hinweis über der Schaltfläche, wie viele davon gerade jetzt ignoriert werden. Diese Regeln laufen nicht.
  • Im Modus Volles .htaccess erscheint dieselbe Liste, aber der Hinweis sagt, dass sie funktionieren — die Liste ist nur relevant, falls Sie je zurückwechseln.

Ist die Tabelle leer, geht nichts in Ihrer .htaccess verloren, und der übersetzte Modus tut alles, was die Datei verlangt.

Wechseln

Eine Schaltfläche. Im übersetzten Modus liest sie Turn on full .htaccess support; im vollen Modus liest sie Switch to translated (faster).

  • Es dauert ein paar Sekunden. Die Karte sagt Applying — this can take a few seconds…, während es arbeitet.
  • Ihre Website geht nicht offline. Der neue Weg wird eingerichtet, bevor der alte entfernt wird, in beiden Richtungen, und schlägt ein Teil fehl, werden beide Seiten so wiederhergestellt, wie sie waren.
  • Sonst ändert sich nichts am Konto. Ihre Dateien, Ihr Document Root, Ihre PHP-Version, Ihr Zertifikat und Ihr gesamtes HTTPS bleiben genau, wie sie sind. Das PHP Ihrer Website läuft in beiden Modi weiterhin als Ihr eigener Benutzer, isoliert von jedem anderen Konto auf dem Server.
  • Besucheradressen in Ihrem Zugriffsprotokoll bleiben die echten Besucheradressen.
  • Sie können jederzeit zurückwechseln, so oft Sie mögen.

Von cPanel kommend

Sie müssen nichts tun. Wenn ein Konto aus einem cPanel-Backup importiert wird, übersetzt der Importer die gefundenen .htaccess-Dateien, und falls eine Direktive nicht übersetzt werden kann, wird das Konto sofort in den vollen .htaccess-Modus versetzt. Die Website verhält sich ab der ersten Anfrage so, wie sie es auf dem alten Server tat.

Der Importbericht zeigt dies als zwei Zeilen: wie viele Regeln übersetzt wurden und wie viele geprüft werden müssen, und ob der Modus umgeschaltet wurde.

Websites, die nie etwas Ungewöhnliches benötigten, bleiben auf dem schnelleren übersetzten Weg.

Wenn etwas falsch aussieht

Eine Regel bewirkt weiterhin nichts, nachdem Sie die Datei bearbeitet haben, und Sie sind im übersetzten Modus. Drücken Sie Translate now. In diesem Modus wird die Datei gelesen, wenn Sie es verlangen, nicht bei jeder Anfrage.

Jede Seite antwortet mit HTTP 500, sofort nachdem Sie die volle Unterstützung eingeschaltet haben. Wechseln Sie zurück — die Schaltfläche bringt Sie dorthin zurück, wo Sie waren — und sagen Sie Ihrem Hosting-Anbieter, was passiert ist. Das bedeutet, dass Apache auf jenem Server ein Modul fehlt, das Ihre Datei benötigt (RewriteEngine On ist das übliche). Es ist eine serverseitige Einstellung, nichts, was Sie von Ihrem Konto aus beheben können.

Jede Seite antwortet mit 502, und Sie sind im vollen Modus. Der Apache-Prozess auf dem Server läuft nicht. Websites im übersetzten Modus sind nicht betroffen, was eine nützliche Information für Ihren Anbieter ist.

Der Wechsel wird mit einer Meldung über Apache-Ports verweigert. Dem Server sind die Plätze ausgegangen, die er für diesen Modus reserviert. Nur Ihr Anbieter kann sie erhöhen.

Die Kachel Apache / .htaccess ist gar nicht in Ihrem Panel. Entweder enthält Ihr Hosting-Tarif sie nicht, oder der Server wurde nicht mit verfügbarem Apache eingerichtet. Fragen Sie Ihren Anbieter, welches der Fall ist.

Was der volle Modus nicht ändert

  • Ihr Zertifikat. HTTPS wird terminiert, bevor Apache die Anfrage überhaupt sieht, sodass Ausstellung und Erneuerung unberührt bleiben.
  • Isolation. PHP läuft in beiden Modi als der eigene Benutzer Ihres Kontos.
  • Ihre Bandbreitenzahlen und Besucherstatistiken.
  • Jedes andere Konto auf dem Server. Diese Einstellung gehört Ihnen allein — sie wird pro Konto entschieden, nicht pro Server.