Ihr bewährter Begleiter.
Viele Nutzer schätzen die vertraute Umgebung des Classic-Editors, die eine einfache und schnelle Bearbeitung ermöglicht.
Mehr Funktionen, mehr Möglichkeiten.
Der Advanced Editor erweitert den Funktionsumfang des Classic-Editors und ermöglicht es, Inhalte noch effektiver zu bearbeiten.
Der Classic-Editor für alle.
Der Classic-Editor zeichnet sich durch Stabilität und Zuverlässigkeit aus, was für professionellen Anwender von Bedeutung ist.
Der Advanced Editor für kreative Köpfe.
Mit dem Advanced Editor können Designer und
Content Creatoren kreative Ideen umsetzten.
In WordPress kann der Wartungsmodus (Maintenance Mode) auf verschiedene Arten aktiviert werden. Eine Möglichkeit besteht darin, die .htaccess
-Datei zu verwenden, um basierend auf der IP-Adresse des Benutzers zu entscheiden, ob der Wartungsmodus aktiviert werden soll. Im folgenden Artikel wird dieser Ansatz detailliert erklärt, zusammen mit einer Vorlage für den Wartungsmodus. Anschließend gehen wir noch kurz auf ein Plug-in ein. Zusätzlich gibt es einen kurzen Ausflug in die Welt der ASCII-Art, der als Vorlage für eine kreative Gestaltung dienen kann.
Exkurs über die Regeln zum Wartungsmodus
Bei der Konfiguration des Wartungsmodus über die .htaccess
-Datei sind verschiedene Rewrite-Regeln entscheidend, um sicherzustellen, dass Besucher die angemessene Benachrichtigung erhalten. Hier sind die Schlüsselregeln und wie sie zusammenarbeiten.
Achtung, der Exkurs dient nur dazu, die Regeln zu interpretieren und die tatsächliche Implementierung des Wartungsmodus erfolgt durch die Überschrift Wartungsmodus über .htaccess.
RewriteEngine On
RewriteBase /
# Überprüfe, ob die Wartungsseite existiert
RewriteCond %{DOCUMENT_ROOT}/wartungsmodus.php -f
# Überprüfe, ob die Anfrage von der spezifischen IP-Adresse stammt
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.012$
# Überprüfe, ob die Anfrage nicht bereits zur Wartungsseite führt
RewriteCond %{REQUEST_URI} !^/wartungsmodus\.php$
# Wenn alle Bedingungen erfüllt sind, leite die Anfrage zur PHP-Datei weiter mit Statuscode 503
RewriteRule ^(.*)$ /wartungsmodus.php [L,R=307]
# Anpassen der Retry-After-Zeit in Sekunden nach Bedarf
#Header always set Retry-After "3600"
Teil RewriteEngine On
und RewriteBase /
1. RewriteEngine On
RewriteEngine
: Dies ist eine Direktive, die die Apachemod_rewrite
-Engine aktiviert oder deaktiviert.mod_rewrite
ist ein Apache-Modul, das es ermöglicht, URL-Umleitungen und Rewrites durchzuführen.On
: Dieser Parameter gibt an, dass diemod_rewrite
-Engine aktiviert wird.
Zusammengefasst bedeutet diese Anweisung, dass die Rewrite-Engine aktiviert wird, was notwendig ist, um die nachfolgenden Rewrite-Regeln zu interpretieren und umzusetzen.
2. RewriteBase /
RewriteBase
: Diese Direktive legt das Basis-Verzeichnis für relative Pfadangaben in den Rewrite-Regeln fest./
: Hier wird das Wurzelverzeichnis als Basis-Verzeichnis festgelegt. Das bedeutet, dass relative Pfade in den Rewrite-Regeln vom Wurzelverzeichnis der Website ausgehen.
Zusammengefasst bedeutet diese Anweisung, dass relative Pfade in den Rewrite-Regeln im Kontext des Wurzelverzeichnisses der Website interpretiert werden sollen.
In Kombination schaffen RewriteEngine On
und RewriteBase /
die grundlegende Konfiguration für die Verwendung von Rewrite-Regeln in der .htaccess
-Datei. Die Engine wird aktiviert, und das Basisverzeichnis für relative Pfade wird auf das Wurzelverzeichnis der Website festgelegt.
In den meisten Shared-Webhosting-Umgebungen ist die mod_rewrite
-Engine standardmäßig aktiviert. Dies bedeutet, dass du normalerweise keine zusätzliche Konfiguration für RewriteEngine On
in der .htaccess
-Datei vornehmen musst, da sie bereits durch den Hosting-Provider aktiviert ist.
Ebenso ist die RewriteBase /
normalerweise nicht unbedingt erforderlich, da der Standardwert normalerweise das Wurzelverzeichnis (/
) ist. In den meisten Fällen kannst du diese Anweisung weglassen, und es wird automatisch auf das Wurzelverzeichnis verwiesen.
Es ist jedoch immer ratsam, die spezifischen Dokumentationen deines Hosting-Providers zu überprüfen oder direkt mit ihrem Support-Team zu sprechen, um sicherzustellen, dass die mod_rewrite
-Engine aktiviert ist und welche Standardwerte für die RewriteBase
gelten. Je nach Hosting-Anbieter können die Konfigurationen leicht variieren.
RewriteCond
-Teile
1. RewriteCond %{DOCUMENT_ROOT}/wartungsmodus.php -f
%{DOCUMENT_ROOT}
: Dies ist eine Server-Variable, die das physikalische Verzeichnis des Wurzelverzeichnisses des Servers repräsentiert. In diesem Fall,%{DOCUMENT_ROOT}
gibt den vollständigen Pfad zum Wurzelverzeichnis der Website an./wartungsmodus.php
: Dies ist der Pfad zur Wartungsmodus-Datei, die im Wurzelverzeichnis der Website liegt.-f
: Dieser Ausdruck überprüft, ob die angegebene Datei (/wartungsmodus.php
) als reguläre Datei existiert. Das-f
-Flag steht für "file" und wird verwendet, um zu überprüfen, ob die Datei vorhanden ist.
Zusammengefasst bedeutet diese Bedingung, dass die Regel nur angewendet wird, wenn die Datei wartungsmodus.php
als reguläre Datei im Wurzelverzeichnis des Servers existiert.
2. RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.012$
%{REMOTE_ADDR}
: Dies ist eine Server-Variable, die die IP-Adresse des Clients enthält, der die Anfrage gestellt hat.!^123\.456\.789\.012$
: Dies ist ein regulärer Ausdruck mit dem Negationsoperator (!
), der prüft, ob die IP-Adresse des Clients NICHT mit "123.456.789.012" übereinstimmt. In diesem Beispiel wird die Regel nur angewendet, wenn die IP-Adresse des Clients nicht genau der angegebenen IP-Adresse entspricht.
Zusammengefasst bedeutet diese Bedingung, dass die Regel nur angewendet wird, wenn die Anfrage NICHT von der spezifizierten IP-Adresse stammt.
3. RewriteCond %{REQUEST_URI} !^/wartungsmodus\.php$
%{REQUEST_URI}
: Dies ist eine Server-Variable, die den Teil der URL enthält, der nach der Domain kommt.!^/wartungsmodus\.php$
: Dieser reguläre Ausdruck prüft, ob die angeforderte URL nicht mit "/wartungsmodus.php" endet.
Zusammengefasst bedeutet diese Bedingung, dass die Regel nur angewendet wird, wenn die angeforderte URL nicht bereits auf die wartungsmodus.php
umleitet, um Endlosschleifen zu vermeiden.
Die Kombination dieser Bedingungen stellt sicher, dass der Wartungsmodus nur aktiviert wird, wenn die Datei wartungsmodus.php
vorhanden ist, die Anfrage von einer bestimmten IP-Adresse stammt und die URL nicht bereits auf wartungsmodus.php
umleitet.
RewriteRule
-Teil
RewriteRule ^(.*)$ /wartungsmodus.php [L,R=307]
:
^(.*)$
: Dies ist das Muster, nach dem die angeforderte URL abgeglichen wird. Hier wird(.*)
verwendet, was so viel bedeutet wie "alles". Es passt also auf jede URL, die angefordert wird./wartungsmodus.php
: Dies ist der Pfad zur Wartungsmodus-Datei, auf die der Besucher umgeleitet wird, wenn der Wartungsmodus aktiviert ist. Hier wird angenommen, dass diese Datei im Stammverzeichnis (root) der WordPress-Installation liegt.[L,R=307]
: Dieser Teil gibt die Aktion an, die durchgeführt wird, wenn das Muster übereinstimmt:[L]
: Das "Last"-Flag sorgt dafür, dass dies die letzte Regel ist, die auf die aktuelle Anfrage angewendet wird. Nachdem diese Regel angewendet wurde, wird die Verarbeitung der RewriteEngine für diese Anfrage beendet.R
steht für die Umleitungsoption.[R=307]
: Diese Umleitungsoption erzeugt eine Umleitung mit dem HTTP-Statuscode307
. Dies teilt Suchmaschinen und Browsern mit, dass es sich um eine temporäre, vorübergehende Umleitung handelt.
Die RewriteRule
-Anweisung im Kontext des Wartungsmodus leitet also jede angeforderte URL auf die wartungsmodus.php
um und gibt dabei den Statuscode 307
zurück, um die vorübergehende Nichtverfügbarkeit zu signalisieren.
Status 302 vs. 307?
R=302
steht für eine temporäre Umleitung.R=307
steht für eine vorübergehende Umleitung.
Die Zahlen entsprechen den HTTP-Statuscodes für Umleitungen:
- 302 Found (Temporarily Moved): Diese Umleitung ist temporär und bedeutet, dass die Ressource vorübergehend an einer anderen Adresse zu finden ist. Der Browser merkt sich die ursprüngliche Adresse und verwendet sie weiterhin in zukünftigen Anfragen.
- 307 Temporary Redirect (Temporary Redirect): Ähnlich wie 302, signalisiert aber explizit, dass die Umleitung temporär ist und der Browser die ursprüngliche Anfragemethode beibehalten soll (GET, POST, etc.).
Im Kontext von Suchmaschinen kann die Wahl des Statuscodes beeinflussen, wie sie die Seite behandeln. In der Regel sind beide für temporäre Situationen geeignet.
Wenn die Suchmaschinen verstehen sollen, dass die Seite vorübergehend nicht verfügbar ist und die Anfrage später wiederholt werden kann, können R=302
oder R=307
verwendet werden. Probiere beide aus und sieh, welcher besser für deine Bedürfnisse funktioniert.
Retry-After
-Zeit, wird hier mit #
auskommentiert ist, da sie auch im wartungsmodus.php
verfügbar ist und dort eingestellt werden kann.
Header always set Retry-After "3600"
: Diese Anweisung fügt einen HTTP-Header mit dem Namen "Retry-After" hinzu, der den Browsern und Suchmaschinen mitteilt, dass es empfohlen wird, die Ressource nach einer bestimmten Zeit erneut zu versuchen. In diesem Beispiel ist die Wartezeit auf 3600 Sekunden (1 Stunde) eingestellt. Du kannst diesen Wert anpassen, um die Wartezeit nach Bedarf zu ändern.
Die Verwendung der .htaccess
-Datei für die Aktivierung des Wartungsmodus bietet in der Tat Vorteile in Bezug auf die Konformität und das Management von potenziellen Fehlern. Hier sind einige Gründe, warum dies bevorzugt werden könnte:
- Einfache Konfiguration: Die Konfiguration des Wartungsmodus über die
.htaccess
-Datei ist in der Regel einfach und erfordert nur wenige Zeilen Code. Dies erleichtert die Wartung und Aktualisierung. - Konformität und Sicherheit: Durch die Nutzung der
.htaccess
-Datei auf Serverebene kannst du sicherstellen, dass der Wartungsmodus unabhängig von der Anwendungslogik aktiviert wird. Dies kann in bestimmten Situationen, insbesondere bei schwerwiegenden Fehlern oder Sicherheitsproblemen, von Vorteil sein. - Keine PHP-Fehlermeldungen: Indem die PHP-Fehlermeldungen in der
wartungsmodus.php
-Datei deaktiviert werden, wird verhindert, dass Fehlerdetails im Browser angezeigt werden. Dies trägt zur Sicherheit bei, da mögliche Angreifer weniger Informationen erhalten. - Einfache Aktivierung/Deaktivierung: Die Aktivierung oder Deaktivierung des Wartungsmodus über die
.htaccess
-Datei kann schnell und einfach erfolgen, entweder indem die Zeilen im Konfigurationsfile hinzufügt, entfernt oder deaktiviert werden. Dies ist besonders nützlich in Notfällen oder bei kurzfristigen Wartungsarbeiten. - Separation of Concerns: Die Verwendung der
.htaccess
-Datei ermöglicht eine klare Trennung von Serverkonfiguration und Anwendungslogik. Dies kann die Wartung und Fehlerbehebung erleichtern, vornehmlich wenn mehrere Entwickler an der Anwendung arbeiten. - Individuelle Steuerung: Die Anpassung auf individueller Ebene erfolgt in der
.htaccess
durch das Hinzufügen mehrere IP-Adressen zulassen. - Cache-Management im Zusammenhang mit dem Wartungsmodus über die
.htaccess
.
- "In Verbindung mit einem Cache-Plugin sollte nach dem Aktivieren des Wartungsmodus und dem anschließenden Zurücksetzen des Modus der Cache gelöscht werden. Andernfalls könnte die Website im Wartungsmodus für Besucher weiterhin gecached werden. Dies betrifft sämtliche Seiten, die während des Wartungsmodus von Besuchern aufgerufen wurden oder für die der Cache automatisch neu erstellt wurde."
Im Kontext des Wartungsmodus über die .htaccess
entfällt die Notwendigkeit eines umfassenden Cache-Managements. Im Gegensatz zu Cache-Plugins, die speziell für die Verwaltung von Cache-Daten in WordPress entwickelt wurden, ist der Wartungsmodus über die .htaccess
direkt auf Serverebene aktiv.
Die .htaccess
-basierte Implementierung des Wartungsmodus sperrt den Zugriff auf die Website und leitet die Anfragen direkt zur Wartungsseite um. Da keine dynamischen Inhalte erzeugt werden, müssen weder Cache-Plug-ins der Cache noch der Browsercache individuell gelöscht werden. Das Deaktivieren des Wartungsmodus führt sofort zur Wiederherstellung der normalen Website-Anzeige, ohne dass zusätzliche Maßnahmen erforderlich sind.
Die klare Struktur und Direktheit des Wartungsmodus über die .htaccess
machen ihn zu einer effizienten und serverseitigen Lösung, die eine nahtlose Aktivierung und Deaktivierung ohne umfassendes Cache-Management ermöglicht.
Nachteil des vollständigen Zugriffsausschlusses
Die Vollständige Sperrung: Wenn der Wartungsmodus über die .htaccess
aktiviert wird, sind alle Besucher und Benutzer, einschließlich derjenigen, die zuvor die Website besucht und Inhalte im Browsercache gespeichert haben, von einem Zugriff ausgeschlossen.
Der Wartungsmodus sollte generell zeitnah deaktiviert werden, sobald die Arbeiten abgeschlossen sind, um sicherzustellen, dass die Website wieder normal zugänglich ist und keine negativen Auswirkungen auf das Ranking hat.
Insgesamt bietet die Verwendung der .htaccess
-Datei eine robuste und konforme Methode zur Steuerung des Wartungsmodus und zum Schutz vor potenziellen Problemen.
Beispiel wie das von Wartungsmodus, öffnet in neuem Tab.
Inhaltsverzeichnis
Funktion des .htaccess
-Wartungsmodus
Die Auswirkungen des Wartungsmodus auf die SEO-Strategie sollten berücksichtigt werden, um sicherzustellen, dass Suchmaschinen die Seite während dieser Zeit angemessen behandeln. Im Kontext des .htaccess
-Wartungsmodus möchten wir nun den Aspekt der Weiterleitung beleuchten.
Beiden Varianten ist in der wartungsmodus.php
der folgende Eintrag die Bedingung:
<meta name="robots" content="noindex, nofollow">
Es ist zu beachten, dass Suchmaschinen unterschiedlich interpretieren können, wie sie mit temporären Umleitungen und Noindex-Anweisungen umgehen.
Im Folgenden geht es um zwei Varianten! Schau dir mal die zwei an – einmal mit Umleitungsoption und dann ohne. Besonders die ohne Umleitungsoption bringt uns den coolen Statuscode 503
. Das lohnt sich anzusehen, um den Kontext besser zu verstehen!
Variante mit Umleitungsoption [L,R=307]
RewriteRule ^(.*)$ /wartungsmodus.php [L,R=307]
- Die Regel leitet die Anfrage von der ursprünglichen URL direkt auf die Wartungsmodusseite (
/wartungsmodus.php
). Dabei wird der Statuscode307
([L,R=307]
) mitgesendet. - In der Adresszeile wird konkret die
/wartungsmodus.php
angezeigt.
- Beachte jedoch, dass die ursprüngliche URL sich nach Beendigung des Wartungsmodus nicht automatisch lädt.
- Der
noindex
-Eintrag im HTML verhindert, dass diewartungsmodus.php
indexiert wird.
Es ist dieser Variante eine klare Trennung zwischen der normalen Betriebsphase und dem Wartungsmodus. Die Wartungsseite mit der eigenen URL ist eine gute Praxis. Der noindex
-Eintrag verhindert, dass die wartungsmodus.php
indexiert wird.
Die explizite Angabe eines Statuscodes, wie etwa 307
(temporäre Umleitung), stellt sicher, dass Suchmaschinen die Seite nicht nur aufgrund des noindex
-Tags, sondern auch aufgrund des korrekten HTTP-Statuscodes als temporär nicht indexieren. Es ist eine zusätzliche Schutzmaßnahme und eine bewährte Praxis, um sicherzustellen, dass die Seite nicht irrtümlich indexiert wird. Daher wird empfohlen, wenn möglich, einen expliziten Statuscode in Verbindung mit dem noindex
-Tag zu verwenden, um maximale Sicherheit zu gewährleisten.
Hinweis: Die Vorlage für die wartungsmodus.php
beinhaltet auch das PHP zur automatischen Neuladung der Website. In dieser Variante kann das seine Aufgabe nicht erfüllen und kann daher entfernt werden.
Variante ohne Umleitungsoption
RewriteRule ^(.*)$ /wartungsmodus.php [L]
- Die Regel leitet die Anfrage von der ursprünglichen URL auf die
/wartungsmodus.php
um. - In dieser Variante fehlt der explizite Statuscode (
R=307
), daher wird standardmäßig der Status200 (OK)
verwendet. - Dabei bleibt die ursprüngliche URL in der Adresszeile des Browsers erhalten und kann nach Beenden des Wartungsmodus geladen werden. In der
wartungsmodus.php
ist festgelegt, dass sich die Seite selbstständig nachladen kann. - Der
noindex
-Eintrag im HTML verhindert, dass diewartungsmodus.php
indexiert wird.
Beachte in dieser Variante, dass die Wartungsseite nicht automatisch mit einem spezifischen Statuscode (wie 307
) signalisiert wird und die klare Trennung zwischen normaler Betriebsphase und Wartungsmodus nicht so deutlich ist wie bei der Verwendung eines spezifischen Statuscodes.
Die Herausforderung dieses Ansatzes besteht darin, dass der Statuscode 200
der Suchmaschine nicht explizit mitteilt, dass die Seite vorübergehend nicht verfügbar ist. Dadurch könnte die Suchmaschine versuchen, die Seite weiterhin zu indexieren, ohne zu erkennen, dass sie sich im Wartungsmodus befindet. Erst durch das noindex
-Tag in der wartungsmodus.php
wird signalisiert, dass die Seite nicht indexiert werden soll.
Im Vergleich zur Variante mit einem spezifischen HTTP-Statuscode könnte diese Methode weniger effektiv sein, da sie auf die Interpretation des noindex
-Tags durch die Suchmaschine angewiesen ist, anstatt klare Anweisungen über den vorübergehenden Status der Seite zu geben.
- Es geht auch anders, Status
503
Der Statuscode 503
(Service Unavailable) wird normalerweise verwendet, um anzuzeigen, dass der Server vorübergehend nicht verfügbar ist, oft aufgrund technischer Probleme wie Überlastung, Wartung oder Serverausfällen.
Die Weiterleitung mit [L,R=503]
würde ideal, da der Adresszeile die ursprüngliche URL erhalten bleibt und somit eine automatische Neuladung ermöglichte. Der Statuscode 503
ist jedoch für "Service Unavailable" reserviert, und daher würde in der .htaccess
mit [L,R=503]
die spezifische Seite "Service Unavailable" geladen, siehe Bild.
Suchmaschinenalgorithmen bevorzugen Seiten, die klare Signale für vorübergehende Unverfügbarkeit senden.
Die direkte Implementierung der Weiterleitung mit der Regel [L,R=503]
in der .htaccess
-Datei ist nicht möglich. Allerdings kann der Status 503
durch die Verwendung von PHP erreicht werden. Anstelle des Standard-Statuscodes 200 (OK)
wird somit PHP dazu verwendet, den Statuscode 503
für die Ausgabe zu setzen.
Statuscode 503
ohne Umleitungsoption versenden!
Mithilfe von PHP wird den Suchmaschinen der Statuscode 503
übermittelt. Diese Funktionalität ist bereits im Code der Standardausstattung der wartungsmodus.php
implementiert:
// Funktion für den Wartungsmodus
function get_mode()
{
// Immer im Wartungsmodus
return 503;
}
// Überprüfe den Wartungsmodus
if (get_mode() == 503) {
// Setze den Statuscode auf 503
http_response_code(503);
Wartungsmodus über .htaccess
Um den Wartungsmodus oder auch 'Maintenance Mode' genannt, für eine WordPress-Website vorzubereiten, folge diesen Schritten:
- Erstellen der
wartungsmodus.php
- Ermitteln der eigenen IP-Adresse
- Die Regeln für die
.htaccess
-Datei
Schritt 1: Erstellen der wartungsmodus.php
Zuerst erstellen wir im Verzeichnis wordpress
eine Datei namens wartungsmodus.php
. Diese Datei wird auch die Inhalte der Wartungsseite enthalten.
Die Datei mit folgendem Code abspeichern:
<?php
// wartungsmodus.php
error_reporting(0); // Schaltet alle Fehlermeldungen aus
ini_set("display_errors", 0); // Verhindert die Anzeige von Fehlern im Browser
// Funktion für den Wartungsmodus
function get_mode()
{
// Immer im Wartungsmodus
return 503;
}
// Überprüfe den Wartungsmodus
if (get_mode() == 503) {
// Setze den Statuscode auf 503
http_response_code(503);
// Setze den Retry-After-Header auf 3600 Sekunden (1 Stunde)
header("Retry-After: 3600");
// Lade alle 10 Sekunden zur aufgerufenen URL
header("Refresh: 10; url=" . $_SERVER["REQUEST_URI"]);
// Hier kannst du weitere Logik für die Wartungsfreigabe hinzufügen, wenn erforderlich
}
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex, nofollow">
<script>
document.addEventListener('DOMContentLoaded', function() {
// Prüfe, ob die Seite durch einen direkten Aufruf oder einen Link innerhalb der Seite geladen wurde
if (document.referrer === '' || document.referrer.includes(window.location.origin)) {
// Verberge den Zurück-Button, da die Seite direkt oder durch einen internen Link aufgerufen wurde
document.getElementById('zurueckButton').style.display = 'none';
}
});
</script>
</head>
<body>
<div style="text-align: center; padding: 50px;">
<pre>
_______ ____ _ _ _
|__ __| | _ \ (_) (_) | |
| | _ _ _ __ ___ | |_) | ___ _ ___ _ __ _ ___ | |
| || | | || '_ \ / _ \ | _ < / _ \| |/ __|| '_ \ | | / _ \| |
| || |_| || |_) || __/ | |_) || __/| |\__ \| |_) || || __/| |
|_| \__, || .__/ \___| |____/ \___||_||___/| .__/ |_| \___||_|
__/ || | | |
|___/ |_| |_|
</pre>
<h1>Die Website befindet sich im Wartungsmodus</h1>
<p>Wir arbeiten daran und sind bald wieder online. Vielen Dank für dein Verständnis.</p>
<p><input type="button" value="Zurück" onClick="javascript:history.back()" id="zurueckButton"></p>
<h2>Medieninhaber und Herausgeber</h2>
<p>Projekt: Beispielprojekt</p>
<p><b>Name</b><br />Max Mustermann</p>
<p><b>Adresse</b><br />
Musterstraße 123<br />
12345 Musterstadt<br />
Deutschland/Österreich/Schweiz</p>
<p><b>E-Mail-Adresse</b><br />max.mustermann@example.com<br />
<b>Telefon</b><br />Bitte kontaktieren Sie mich über E-Mail</p>
</div>
</body>
</html>
- PHP-Teil:
- Fehlermeldungen ausschalten:
error_reporting(0);
:Diese Funktion schaltet alle PHP-Fehlermeldungen aus, um sicherzustellen, dass keine Fehlerdetails auf der Webseite angezeigt werden. - Anzeige von Fehlern im Browserverhindern:
ini_set('display_errors', 0);
: Diese Anweisung verhindert die Anzeige von PHP-Fehlern im Browser, um eine saubere Benutzeroberfläche während des Wartungsmodus zu gewährleisten. - Funktion für den Wartungsmodus:
function get_mode() {...}
: Definiert eine Funktion, die den Wartungsmodus aktiviert und den HTTP-Statuscode 503 zurückgibt. - Überprüfung des Wartungsmodus:
if (get_mode() == 503) {...}
: Überprüft, ob der Wartungsmodus aktiv ist. Falls ja, werden die nächsten Anweisungen ausgeführt. - Setzen des HTTP-Statuscodes und Retry-After-Headers:
http_response_code(503);
: Setzt den HTTP-Statuscode auf 503 (Service Unavailable).header('Retry-After: 3600');
: Setzt den Retry-After-Header auf 3600 Sekunden (1 Stunde), um den Browservorlauf zu steuern.
- Automatisches Neuladen der Seite alle 10 Sekunden:
header("Refresh: 10; url=" . $_SERVER['REQUEST_URI']);
: Bewirkt, dass die Seite alle 10 Sekunden neu geladen wird. Dies ist nützlich, um Benutzer über Änderungen im Wartungsstatus auf dem Laufenden zu halten. - Zusätzliche Logik (optional):
Hier können zusätzliche Anweisungen eingefügt werden, um spezifische Logik während des Wartungsmodus auszuführen, wenn dies erforderlich ist.
- Fehlermeldungen ausschalten:
- HTML- und JavaScript-Teil:
noindex
im<head>
: Die Ergänzung einesnoindex
-Tags im<head>
-Bereich während des Wartungsmodus ist eine Maßnahme, um zu vermeiden, dass die temporäre Wartungsseite von Suchmaschinen indexiert wird.- Der JavaScript-Code prüft, ob die Seite direkt aufgerufen wurde oder durch einen internen Link innerhalb der Seite. Falls ja, wird der Zurück-Button (
zurueckButton
) versteckt, da das Zurücknavigieren in diesem Fall nicht sinnvoll ist. - Der Rest des HTML-Teils enthält die eigentlichen Inhalte der Wartungsseite, einschließlich des Design ASCII-Art-Format 😉 , einer Meldung, einem Zurück-Button und Kontaktinformationen.
- Mehr zum ꒰ ͜͡➸ ASCII-Art-Format ist im Anschluss zu sehen. – sozusagen zur Entspannung dann.
Schritt 2: Ermitteln der eigenen IP-Adresse
- Ermittle zuerst die eigene IP-Adresse, bevor die Regeln für die
.htaccess
-Datei erstellt werden. Die IP wird gebraucht, um sicherzustellen, dass der Zugriff auf die Website im Wartungsmodus nur auf diese IP beschränkt ist.
Es ist zu beachten, dass sich die IP-Adresse eines Geräts ändern kann, insbesondere wenn es sich um eine dynamische IP-Adresse handelt. Die vom Internetdienstanbieter (ISP) zugewiesene IP-Adresse ändert sich häufig, daher ist dies zu berücksichtigen, um mögliche Ungereimtheiten zu verstehen.
Die aktuelle IP-Adresse kann über Online-Dienste überprüft werden. Die IP-Adresse kann sich immer wieder ändern.
https://www.whatsmyip.org/
https://www.dein-ip-check.de/
https://www.ionos.at/tools/ip-adresse
https://whatismyipaddress.com/de/meine-ip
Hier sind einige Informationen dazu, wie sich IP-Adressen ändern können: Wir beziehen sich auf die IP-Adressen im Internet!
Die dynamischen IP-Adressen von Internetdiensten (ISP) ändern sich.
Verwendung von statischer IP?
Die Sicherheit einer statischen IP-Adresse im Kontext des Wartungsmodus hängt davon ab, wie gut diese geschützt ist. Statische IP-Adressen sind im Allgemeinen nicht geheim, da sie oft öffentlich zugänglich sind. Daher sollte die Verwendung von statischen IP-Adressen zur Steuerung des Zugriffs nicht als alleinige Sicherheitsmaßnahme betrachtet werden.
Schritt 3: Die Regeln für die .htaccess-Datei
Die folgenden Regeln basieren auf der Umleitung zur wartungsmodus.php
unter Verwendung der entsprechenden IP.
Um nur der eigenen IP-Adresse normalen Zugriff zu gewähren und anderen Besuchern den Wartungsmodus anzuzeigen, wird folgende .htaccess
-Regel verwendet:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Überprüfe, ob die Wartungsseite existiert
RewriteCond %{DOCUMENT_ROOT}/wartungsmodus.php -f
# Überprüfe, ob die Anfrage von der spezifischen IP-Adresse stammt
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.012$
# Überprüfe, ob die Anfrage nicht bereits zur Wartungsseite führt
RewriteCond %{REQUEST_URI} !^/wartungsmodus\.php$
# Wenn alle Bedingungen erfüllt sind, leite die Anfrage zur PHP-Datei weiter
RewriteRule ^(.*)$ /wartungsmodus.php [L]
# Anpassen der Retry-After-Zeit nach Bedarf
Header always set Retry-After "3600"
</IfModule>
Das <IfModule mod_rewrite.c>
ist eine Bedingung, die überprüft, ob das Apache-Modul mod_rewrite
aktiviert ist, bevor es Rewrite-Regeln anwendet. Dies ist eine gute Praxis, um sicherzustellen, dass die Regeln nur angewendet werden, wenn das Modul verfügbar ist.
- Wenn das Modul wieder zu deaktivieren ist, ist einfach die Direktive auf
RewriteEngine Off
innerhalb des<IfModule>
-Blocks zu setzen.
Es ist zu beachten, dass das Deaktivieren der Rewrite Engine mit der Direktive RewriteEngine Off
von der grundlegenden Serverkonfiguration abhängt. In einigen Serverumgebungen kann dies möglicherweise nicht wie erwartet funktionieren, abhängig von den erlaubten Servereinstellungen und der Konfiguration des Hosting-Anbieters. Wenn das Deaktivieren der Rewrite Engine nicht die gewünschten Ergebnisse liefert, können diese Regeln durch das Hash-Symbol (#
) auskommentiert werden.
Wartungsmodus testen
Um den Wartungsmodus nur für die eigene IP-Adresse anzuzeigen, sollte
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.123$
der!
–Operator vor der IP-Adresse entfernt werden, alsoRewriteCond %{REMOTE_ADDR} ^123\.456\.789\.123$
.
Damit können alle Besucher die Website besuchen, während der Wartungsmodus nur für die eigene IP-Adresse angezeigt wird. Dies kann nützlich sein, um den Wartungsmodus zu testen, also:
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.123$
- Wenn die Regel
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.123$
aktiv ist, bedeutet das, dass der Wartungsmodus aktiviert wird, wenn die IP-Adresse NICHT mit der angegebenen IP übereinstimmt. In diesem Fall wird der Wartungsmodus nur angezeigt, wenn du NICHT von der angegebenen IP aus zugreifst.- Das ist auch zu testen, indem du einfach die IP-Adresse in der Regel veränderst.
- Wenn die Regel
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.123$
aktiv ist, bedeutet das, dass der Wartungsmodus aktiviert wird, wenn die IP-Adresse mit der angegebenen IP übereinstimmt. In diesem Fall wird der Wartungsmodus nur angezeigt, wenn du von der angegebenen IP aus zugreifst. Dies kann zum Testen des Wartungsmodus gut sein.
Wenn mehreren Benutzern der Zugriff auf die Website gewährt bleiben soll, dann:
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.123$ [OR]
RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$ [OR]
RewriteCond %{REMOTE_ADDR} !^222\.333\.444\.555$
Dies bedeutet, dass der Wartungsmodus aktiviert wird, wenn die IP-Adresse des Benutzers nicht einer der drei angegebenen IP-Adressen entspricht. Beachte, dass die [OR]
-Verknüpfung sicherstellt, dass mindestens eine der Bedingungen erfüllt sein muss.
Hinweis: Die Verwendung von [OR]
in den RewriteCond
-Anweisungen dient dazu, eine ODER-Verknüpfung zwischen den einzelnen Bedingungen herzustellen. Wenn kein [OR]
vorhanden ist, wird standardmäßig eine UND-Verknüpfung verwendet.
Ohne [OR]
würden alle Bedingungen gleichzeitig erfüllt sein müssen, damit die RewriteRule angewendet wird. Das bedeutet, dass die IP-Adresse des Benutzers gleichzeitig nicht den ersten, nicht den zweiten und nicht den dritten Einträgen entsprechen müsste. In den meisten Fällen, wenn du mehrere IPs überprüfen möchtest und es ausreicht, dass mindestens eine Bedingung zutrifft, verwendest du [OR]
für die ODER-Verknüpfung.
😄 Für den ultimativen Wartungsmodus-Flair empfehlen wir, ein kleines Notizzettelchen an den Computerbildschirm zu heften. So vergisst du garantiert nicht, den Wartungsmodus zu deaktivieren – es sei denn, du genießt die Gesellschaft der "Wartungsmodus-Meldung" mehr als die deiner eigenen Website!"
Sowieso in Empfehlung WP Dashboard Notes:
Oder und in der …
Admin-Toolbar: Benachrichtigung bei Wartungsmodus
Zur Benutzerfreundlichkeit während eines Wartungsmodus, kann folgend eine Benachrichtigung in der Admin-Toolbar implementiert werden. Diese Benachrichtigung wird nur angezeigt, wenn der Wartungsmodus aktiviert ist, und bietet eine klare Anzeige für Administratoren, dass gerade Wartungsarbeiten durchgeführt werden.
Im folgenden Code und den Erläuterungen zeigen wir, wie dies mit einem einfachen Code-Snippet erreicht werden kann.
functions.php
/* Admin-Toolbar: Benachrichtigung bei Wartungsmodus */
function anzeigen_wartungsmodus_benachrichtigung() {
// Überprüfe, ob die .htaccess-Datei den Wartungsmodus aktiviert
$htaccess_inhalt = file_get_contents(ABSPATH . '.htaccess');
$wartungsmodus_aktiv = !preg_match('/#.*RewriteCond %{DOCUMENT_ROOT}\/wartungsmodus.php -f/', $htaccess_inhalt);
// Überprüfe, ob der Wartungsmodus aktiviert ist
if ($wartungsmodus_aktiv) {
// Wartungsmodus ist aktiviert
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
'id' => 'wartungsmodus-benachrichtigung',
'title' => '<span class="ab-icon dashicons dashicons-warning"></span> Wartungsmodus ist aktiviert!',
'meta' => array(
'class' => 'wartungsmodus-benachrichtigung',
),
));
}
}
add_action('admin_bar_menu', 'anzeigen_wartungsmodus_benachrichtigung');
Dieser Code-Abschnitt ermöglicht die Anzeige einer Benachrichtigung in der WordPress Admin-Toolbar, wenn der Wartungsmodus aktiviert ist. Der Code überprüft die .htaccess
-Datei auf die spezifische Regel:
RewriteCond %{DOCUMENT_ROOT}/wartungsmodus.php -f
Diese Regel steuert den Wartungsmodus. Wenn die Regel vorhanden ist und nicht auskommentiert wurde, wird die Benachrichtigung in der Toolbar angezeigt. Dies bietet eine visuelle Bestätigung für den aktiven Wartungsmodus und informiert Administratoren über den gegenwärtigen Status der Website.
Hier haben wir das Thema Wartungsmodus auch schon mal angeschnitten: WordPress Maintenance der Wartungsmodus.
Plug-in für den Wartungsmodus
In Anwendung eines Cache Plug-in ist nach aktivieren des Wartungsmodus und dessen zurückstellen der Cache zu löschen. Andernfalls könnte dem Besucher weiterhin die Website in ihrer vorherigen Einstellung mit aktiviertem Wartungsmodus angezeigt werden.
Wichtig! Benutzer, die Cache-Plugins verwenden:
Vergessen Sie nach Deaktivieren des Wartungsmodus nicht, Ihren Cache zu leeren!
Anders hat das moderne Plug-in Slim Maintenance Mode das mit dem Cache gelöst, Näheres ist der readme.txt zu entnehmen – mehr braucht es nicht.
ASCII-Art
Hier folgt ein kleiner Ausflug in die Welt der ASCII-Art ʕ•́ᴥ•̀ʔっ, der sich aus der Vorlage für den Wartungsmodus ergeben hat.
Um sicherzustellen, dass die Zeichnung auf der Website korrekt angezeigt wird, sollten HTML-Zeilenumbrüche verwendet werden. Der <pre>
-Tag wird normalerweise für vorformatierten Text genutzt und bewahrt Leerzeichen und Zeilenumbrüche. Dadurch wird sichergestellt, dass die ASCII-Art-Zeichnung die gewünschte Form behält und ordnungsgemäß dargestellt wird.
.--. _ .---|__| .((\=. .--|===|--|/ ,(, | |===| |\ y |%%| | | `.__,' |%%| | | / \\\ | | | |/| | \`----. | | | ||\ \ |___.'_ _| | |__||,\ \-+-._.' )_ / | |===|--|\ \ \ / \ hjw / `--^---'--' `--`-'---^-' \ '================================`
Für diejenigen, die mit ASCII-Art nicht vertraut sind, bietet die Wikipedia einen kurzen Einblick ASCII-Art.
Es gibt auch zahlreiche Online-Quellen mit schönen ASCII-Art-Vorlagen. Einige Anpassungen könnten jedoch erforderlich sein. Hier sind einige Beispiele:
- Schöne Vorlagen ASCII Art Archive (asciiart.eu) mitunter sind Nacharbeiten erforderlich.
- Schreibe etwas! – funktioniert als Schriftengenerator (patorjk.com/software).
- Zeichen-Bilder – Kunst, Text zum Kopieren (fssybols.com)
ℍ𝕒𝕝𝕝𝕠 𝔸𝕊ℂ𝕀𝕀-𝔸𝕣𝕥
┊┊╭━╮┊┊┊┊┊┊┊┊┊┊┊
━━╋━╯┊┊┊┊┊┊┊┊┊┊┊
┊┊┃┊╭━┳╮╭┓┊╭╮╭━╮
╭━╋━╋━╯┣╯┃┊┃╰╋━╯
╰━╯┊╰━━╯┊╰━┛┊╰━━
꒰ ͜͡➸ Willkommen bei Messletters (messletters.com)
Unter anderem Picture to ASCII Art Converter (sketchmypic.com) – Eigenes Bild konvertieren …
〷◠‿◠〷 Der Beitrag wurde mit fachlicher Unterstützung erstellt.
Der Beitrag wurde mit fachlicher Unterstützung erstellt.
Aktualisiert im Jahr 2024 April