Є кілька розширень, які роблять саме це. Однак вони все ще є лише тимчасовим способом вирішення проблем, оскільки maintenance.flag
функціональність все ще існує. Щоб видалити його, потрібно вручну відредагувати файл 'index.php', що, в свою чергу, може спричинити проблеми з оновленнями.
if (file_exists($maintenanceFile)) {
include_once dirname(__FILE__) . '/errors/503.php';
exit;
}
Ось так реалізовується функція 'support.flag' в 'index.php'. Однак оскільки вам потрібно відредагувати 'index.php', ви також можете зробити щось більш складне, наприклад:
if (file_exists($maintenanceFile) && strpos($_SERVER['REQUEST_URI'], '/admin/') === false) {
include_once dirname(__FILE__) . '/errors/503.php';
exit;
}
Зверніть увагу, що наведений вище код - це швидке та брудне злом. Ви можете розвинути його далі, тому що я просто перевіряю, чи існує "/ admin /" в URL-адресі.