@C22:
ich habe das bei mir auf einem LiteSpeed-Server (vollständig kompatibel zu Apache) vor Kurzem genau so gelöst. Die Methode funktioniert komplett unabhängig vom phpBB-Core direkt über den Webserver. Das hat den großen Vorteil, dass auch Suchmaschinen wie Google über den korrekten HTTP-Statuscode 503 sauber informiert werden und keine SEO-Rankings verloren gehen.
Du benötigst dafür zwei Dateien im Hauptverzeichnis (Root) deines Forums:
1. Der Block für die .htaccess
Füge diesen Block ganz oben in deine bestehende .htaccess ein (direkt unter RewriteEngine On). Ersetze 123.123.123.123 durch deine eigene, aktuelle IP-Adresse, damit du selbst das Forum weiterhin normal aufrufen kannst:
Code: Alles auswählen
# ==============================================================
# === WARTUNGSMODUS START ===
# ==============================================================
# A. Globales Fehlerdokument für den 503-Status definieren
ErrorDocument 503 /wartung.php
# B. Eigene IP-Adresse vom Wartungsmodus ausschließen (Surfen weiterhin erlaubt)
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.123$
RewriteRule ^ - [L]
# C. Alle anderen Besucher intern auf die Wartungsseite umleiten mit Status 503
# Ausnahme: Die Wartungsseite selbst, um eine Endlosschleife zu verhindern
RewriteCond %{REQUEST_URI} !/wartung\.php$
RewriteRule ^ - [R=503,L]
# D. Cache-Header für die Wartungsseite (verhindert hartnäckiges Browser-Caching)
<Files "wartung.php">
<IfModule mod_headers.c>
Header always set Cache-Control "no-cache, no-store, must-revalidate"
Header always set Pragma "no-cache"
Header always set Expires "0"
</IfModule>
</Files>
# ==============================================================
# === WARTUNGSMODUS ENDE ===
# ==============================================================
2. Die Datei wartung.php
Erstelle eine neue Datei namens wartung.php und lade sie in dein Root-Verzeichnis. Der PHP-Teil am Anfang setzt den korrekten Statuscode für die Crawler. Das CSS-Layout ist so optimiert, dass es sowohl auf dem Desktop als auch auf dem Smartphone (Mobilmodus) sauber zentriert und fehlerfrei dargestellt wird:
Code: Alles auswählen
<?php
// Sendet den temporären Fehlerstatus 503 an Bots und Crawler
http_response_code(503);
// Sagt Suchmaschinen, in wie vielen Sekunden (hier 7 Tage) sie wiederkommen sollen
header('Retry-After: 604800');
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wartungsarbeiten</title>
<style>
body {
background-color: #f8f9fa;
font-family: sans-serif;
color: #333;
margin: 0;
padding: 20px;
}
.box {
background: white;
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
max-width: 600px;
margin: 40px auto;
border-top: 5px solid #d9534f;
box-sizing: border-box;
}
h1 { color: #d9534f; margin-top: 0; margin-bottom: 20px; font-size: 1.5rem; text-align: center; }
p { line-height: 1.6; font-size: 1.1rem; margin-bottom: 15px; text-align: center; }
.eng { color: #777; font-size: 0.9rem; margin-top: 30px; border-top: 1px solid #eee; padding-top: 15px; text-align: center; }
</style>
</head>
<body>
<div class="box">
<h1>Wartungsarbeiten</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sercitiam measures and database optimization in progress.</p>
<p>Vobis undis et datenintegrität vollständig zu gewährleisten. Das Forum bleibt daher noch für einige Tage offline.</p>
<p>Wir bitten um Verständnis.</p>
<div class="eng">
<p>Temporary maintenance. The forum will remain offline for a few days. Thank you for your patience.</p>
</div>
</div>
</body>
</html>
Wenn du den Wartungsmodus beenden willst, musst du später einfach nur den Block in der
.htaccess auskommentieren oder löschen. Die
wartung.php kann für zukünftige Arbeiten einfach auf dem Server liegen bleiben.