Auf meiner PHP Seite möchte ich den Benutzern manchmal eine Wartungsseite zeigen. Ich weiß, dass ich das in PHP sehr einfach machen kann, aber ich würde lieber eine htaccess-Datei verwenden, ich denke, die Leistung könnte auf diese Weise besser sein. Was ich also wissen möchte, ist, kann ich eine htaccess-Datei in PHP ändern? Wenn es möglich ist, denke ich entweder,
1 - Habe Dateien und 1 wird den Code darunter haben und der andere wird nicht, beide Dateien würden auch meine anderen htaccess Sachen enthalten. Dann kann php diese 2 Dateien umbenennen, wenn ich ein Admin-Skript ausführe, um zu wechseln, welche Datei angezeigt wird, indem ich den Namen in .htaccess
ändere2- Lesen Sie den Inhalt der aktuellen .htaccess-Datei und APPEND den Code unten, dann auch in der Lage, es aus der Datei zu entfernen, falls erforderlich.
%Vor%Mein Ziel ist es, ein Admin-Skript zu erstellen, das eine Verarbeitung von einem Klick ausführen kann, um die Wartungsseite so zu ändern, dass sie angezeigt wird oder nicht.
Bitte geben Sie Beispielcode oder Tipps, wie dies zu tun ist oder ob es sogar möglich ist, eine .htaccess-Datei von PHP zu ändern
Sie können fopen zum Öffnen und fwrite in eine Datei schreiben. Sie möchten es im Append-Modus öffnen, lesen Sie das Handbuch, um zu sehen, welche gilt.
Das klingt nach einer seltsamen Art, Dinge zu tun.
Ich beende das, was du zu tun versuche, indem du einfach Regeln umschreibst, die nach Dateipräsenz suchen:
%Vor%Wenn die Datei "Maintenance.html" vorhanden ist, wird meine Site gewartet.
Ich würde nicht wärmstens empfehlen, .htaccess
von PHP
zu schreiben. Sie müssten dem Webserver-Benutzer (der traditionell sehr niedrige Rechte besitzt) Schreibzugriff auf .htaccess
; Sie benötigen lediglich ein ausnutzbares Skript, und ein Angreifer kann Ihren Server effektiv neu konfigurieren.
Bei einem Wartungsmodus für In-App-Switches geben Sie an, dass PHP
selbst die Wartungsseite zurückgibt. Wenn Sie Wartungsarbeiten an der App selbst durchführen, ist es einfach, eine Datei vorübergehend in .htaccess's
-Position umzubenennen, um das Wartungsnewrite zu aktivieren.