6

I've configured Magento 2 website as maintenance mode from .maintenance.flag it's working, at the same time I have configured released IPs from .maintenance.ip file.

For multiple IPs not working while for single IP it's working fine.

How can I configure to release selected multiple IPs?

For this I have written I have created.

1) .maintenance.flag file from var.

2) .maintenance.ip file from var and written code for release single IP

192.168.0.52

For single I have written above it's working.

192.168.0.52,192.168.0.53

For multiple, I have written above it's not working.

Can you please let me know how can I write to release multiple IP's and also how can I configure to redirect particular page while maintenance Mode?

  • 1
    I love this question. – Amit Bera Jan 5 '16 at 7:18
6

For activating maintenance mode with IP addresses execute below command in CLI

php bin/magento maintenance:enable --ip="192.168.0.52" --ip="192.168.0.86"

the above command will automatically create a .maintenance.flag and .maintenance.ip file under root/var folder.

and .maintenance.ip the file contains the above two IP addresses separated by a comma.

For more Information, you can find from devdocs.

The above information is for maintenance mode.

To redirect a custom page while maintenance mode writes below code in root/index.php.

$maintenanceFile =  __DIR__ . '/var/.maintenance.flag';

if (file_exists($maintenanceFile)) {
    header('Location: http://127.0.0.1/m2ee/Error.php');
    die();
}

If anyone has better approach please update this answer.

2

The Maintenance Mode check-in lib/internal/Magento/Framework/App/Bootstrap.php. This file calls to lib/internal/Magento/Framework/App/MaintenanceMode.php. If .maintenance.flag file exists in var folder, it returns false.

If you want the redirect to a new page when maintenance enables, you need change lib/internal/Magento/Framework/App/Bootstrap.php file. Add this code below after line 288:

header('Location: http://127.0.0.1'); //your page
die();

Not the answer you're looking for? Browse other questions tagged or ask your own question.