Ich verwende Joomla und ich liebe die Möglichkeit, die Website für Wartungsarbeiten herunterzufahren. Wie ich gesehen habe, werden alle Anfragen an die Website, wenn sie sich im Wartungsmodus befindet, auf eine einzige Seite umgeleitet. Wie kann ich mein eigenes Modul für das Herunterfahren der Website wegen Wartungsarbeiten für eine Nicht-Joomla-Site hinzufügen? Ich verwende ein MVC-Framework in PHP mit dem Namen Kohana in der Version 2, das mit Codeigniter vergleichbar ist. Ich habe eine Router-Klasse, in der ich steuern kann, wohin eine bestimmte Adresse geht. Der einzige Ansatz, den ich denken kann, ist, jede Anfrage an eine bestimmte Controller-Funktion umzuleiten, wenn die Website nicht verfügbar ist, aber wie mache ich das? Ich kann nicht möglicherweise manuell alle Urls richtig umleiten?
Antworten
Zu viele Anzeigen?
Matt
Punkte
853
Definieren Sie in Ihrer index.php eine Konstante namens IN_MAINTENANCE
Erstellen Sie einen Rückruf wie hier in einer Hook-Datei :
function in_maintenance()
{
if(IN_MAINTENANCE)
{
Router::$controller = 'my_maintenance_controller';
Router::$method = 'index';
}
}
Und fügen Sie es als in das system.post_routing-Ereignis ein.
Event::add('system.post_routing', 'in_maintenance');
Wenn Sie Ihre Website hochladen, ändern Sie den Wert von IN_MAINENANCE auf TRUE und alle Anfragen werden auf Ihre Wartungsseite umgeleitet.
Siehe die Veranstaltung / Dokumentation zum Haken für weitere Informationen zur Erstellung eines Hooks.
SpadXIII
Punkte
906
- See previous answers
- Weitere Antworten anzeigen