diff --git a/mod/maintenance.php b/mod/maintenance.php index 98155b93a..c4839de79 100644 --- a/mod/maintenance.php +++ b/mod/maintenance.php @@ -3,12 +3,21 @@ use \Friendica\Core\Config; function maintenance_content(App $a) { + + $reason = Config::get('system', 'maintenance_reason'); + + if (substr(normalise_link($reason), 0, 7) == 'http://') { + header("HTTP/1.1 307 Temporary Redirect"); + header("Location:".$reason); + return; + } + header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 600'); return replace_macros(get_markup_template('maintenance.tpl'), array( '$sysdown' => t('System down for maintenance'), - '$reason' => Config::get('system', 'maintenance_reason') + '$reason' => $reason )); } diff --git a/util/maintenance.php b/util/maintenance.php index b313783a7..650dade70 100644 --- a/util/maintenance.php +++ b/util/maintenance.php @@ -49,5 +49,5 @@ if ($reason != '') { } echo "Usage:\n\n"; -echo "\tphp {$argv[0]} [1] [Maintenance reason]\tSet the system in maintenance mode\n"; +echo "\tphp {$argv[0]} [1] [Maintenance reason|redirection url]\tSet the system in maintenance mode\n"; echo "\tphp {$argv[0]} 0 \tSet the system in normal mode\n\n";