Tutorials
[ Zurück ]


Komplette Webseite offline schalten


Hi,

wer kennt das Problem nicht: Man aktualisiert seine Homepage und in der gleichen Zeit greifen User auf die Seite zu und es kommt zu Fehlermeldungen. Mit diesem Script wird die komplette (!) Homepage offline gesetzt und ihr könnt in aller Ruhe die Dateien via FTP aktualisieren. Alle Anfragen auf eure Domain wird dann auf dieses Script umgeleitet.

1. Das Script - Teil 1
<?php

if($_GET['Passwort'] == "DEIN PASSWORT")


{

Dort müsst ihr DEIN PASSWORT durch euer gewünschtes Passwort tauschen. Diese sollte aus Sicherheitsgründen mindestens einen Groß- und Kleinbuchstaben, eine Zahl und ein Sonderzeichen ( #+.-%&/(/§ ) enthalten.

1. Das Script - Teil 2
  $modrewrite = "
RewriteEngine on
RewriteRule offline.php$ offline.php [L]
RewriteRule (.*)$ /offline.php
  ";
 
  if(!file_exists(".htaccess"))
  {
    touch(".htaccess");
    chmod(".htaccess", 0777 );
  }
 
Dieser Abschnitt sorgt dafür, dass der Offlinestatus bzw. bei deaktivierung der Onlinestatus in die .htaccess eingetragen wird. Solltet ihr keine bestehende .htaccess Datei haben, erstellt dieses Script eine.

1. Das Script - Teil 3
  if($_GET['Status'] == "online")
  {
    $open = fopen(".htaccess", "r");
    $read = @fread($open, filesize(".htaccess"));
    fclose($open);
   
    $read = str_replace($modrewrite, "", $read);
   
    $open = fopen(".htaccess", "w");
    fwrite($open, $read);
    fclose($open);
   
    echo "<h2>Websites online...</h2>";
  }
  else // Status auf offline setzen
  {
    $open = fopen(".htaccess", "a");
    fwrite($open, $modrewrite);
    fclose($open);
   
    echo "<h2>Websites offline...</h2>";
  }
}
else
{
  echo "
    <h1>Meine Homepage ist zur Zeit offline!</h1>
    Es werden kleinere Wartungs- und Aktualisierunsarbeiten durchgeführt.<br />     Ich bitte euch um Verständniss! Bitte versuche es später nocheinmal!<br />     <br />
  ";
}

?>
Dieser Abschnitt regelt den Ablauf von "online" bzw. "offline". Die beiden fett und unterstrichen makieren Texte in <h2> sind der Text, den ihr später angezeigt bekommt, wenn ihr den Status ändert. Diesen Text könnt ihr verändern wenn ihr wollt.

Den rot makierten Text bekommen die Besucher eurer Seite angezeigt, wenn ihr den Status auf "offline" gesetzt habt. Auch diesen Text könnt ihr nach euren Wünschen verändern bzw. Homepage gegen euren Seitennamen austauschen.

2. Einbinden auf die Homepage
<h2 align="center">Status ändern</h2>
<form action='' method='get'>
  <div align="center">
    <table border='0'>
      <tr>
        <td>Passwort:</td>
        <td>
        <input type='password' name='Passwort' value='<?php echo $_GET['Passwort']; ?>' /></td>
      </tr>
      <tr>
        <td>Status ändern zu: &nbsp;</td>
        <td>
          <select name='Status'>
            <option value='online'>Online</option>
            <option value='offline'>Offline</option>
          </select>        </td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <input type='submit' value='Status ändern' />
  </div>
</form>

Am besten ihr speichert alles in eine Datei namens offline.php. Zu diesem Abschnitt gibt es eigentlich nicht viel zu sagen. Das stellt nur den designtechnischen Punkt dar, hat mit dem Code nix zu tun. Hier gehts nur darum wie das ganze dargestellt wird. Im Headbereich dieser Datei könnt ihr auch das ganze mit einer CSS Datei verbinden, damit es dem Design eurer Seite entspricht.

1. Beispiel für eine ferig erstellte Datei
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
<head>
<title>MelonenFans - Seite Offline</title>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<style type="text/css">
<!--
body, td, th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
}
body {
    background-color: #CCFF99;
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
-->
</style></head>
<body>
<div align="center">
  <?php

if($_GET['Passwort'] == "das wird nicht verraten!")
{
  $modrewrite = "
RewriteEngine on
RewriteRule offline.php$ offline.php [L]
RewriteRule (.*)$ /offline.php
  ";
 
  if(!file_exists(".htaccess"))
  {
    touch(".htaccess");
    chmod(".htaccess", 0777 );
  }
  if($_GET['Status'] == "online")
  {
    $open = fopen(".htaccess", "r");
    $read = @fread($open, filesize(".htaccess"));
    fclose($open);
    
    $read = str_replace($modrewrite, "", $read);
    
    $open = fopen(".htaccess", "w");
    fwrite($open, $read);
    fclose($open);
    
    echo "<h2>Websites online...</h2>";
  }
  else // Status auf offline setzen
  {
    $open = fopen(".htaccess", "a");
    fwrite($open, $modrewrite);
    fclose($open);
    
    echo "<h2>Websites offline...</h2>";
  }
}
else
{
  echo "
    <h1>MelonenFans ist zur Zeit offline!</h1>
    Es werden kleinere Wartungs- und Aktualisierunsarbeiten durchgeführt.<br />
    Die Seite ist am 04.11.2008 um ca. 12:45 Uhr wieder erreichbar!<br />
    <br />
  ";
}

?>
</div>
<h2 align="center">Status ändern</h2>
<form action='' method='get'>
  <div align="center">
    <table border='0'>
      <tr>
        <td>Passwort:</td>
        <td>
        <input type='password' name='Passwort' value='<?php echo $_GET['Passwort']; ?>' /></td>
      </tr>
      <tr>
        <td>Status ändern zu: &nbsp;</td>
        <td>
          <select name='Status'>
            <option value='online'>Online</option>
            <option value='offline'>Offline</option>
          </select>        </td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <input type='submit' value='Status ändern' />
  </div>
</form>
</body>
</html>
So sieht das ganze bei mir aus. Wer die Datei selber auch sehen möchte: http://melonenfans.cwsurf.de/offline.php

Erstellt:27.01.09 13:17
Autor: melonenfans

Letzte Änderung: 21.07.09 10:19
Geändert von: melonenfans

Bewertungen:7
Bewertung: 3.9

Freigeschaltet: Ja
Views 4143

Klicke einfach auf einen Stern!
Wollen Sie wirklich das Tutorial löschen?
Wollen Sie wirklich dieses Tutorial zulassen?
Betreff: Report tutorial [id = 37] !
Absender:
Kommentar:
Wollen Sie wirklich dieses Tutorial zulassen?
Absender:
Kommentar:
Folgende User sind hier gerade aktiv:
-

ANZEIGE