Иногда бывают моменты, когда нужно внести изменения в код на сайте Мадженто, который уже функционирует в сети Интернет. Другими словами, перевести его в режим технического обслуживания, пока вы редактируете функционал сайта. И здесь важно, чтобы клиентам вашего интернет-магазина показывалось информационное сообщение о режиме обслуживания, а у вас был полный доступ к функциям сайта для его тестирования.
Самым идеальным для этого решением будет ограничение доступа к сайту по IP посетителя. Начиная с версии Мадженто 1.4 стала доступной соответствующая функция, которая позволяет довольно просто перевести сайт в режим технического обслуживания. Для этого достаточно добавить пустой файл maintenance.flag
в корень сайта. Система сама делает подобный трюк, когда, например, вы обновляете версию движка из админки. Пока идет обновление, все посетители сайта видят страницу с сообщением о режиме технического обслуживания. После обновления система удаляет этот файл и сайт функционирует в обычном режиме. Единственным недостатком здесь является то, что и вам устанавливается ограничение доступа к сайту. Сегодня мы рассмотрим то, как можно обойти такое ограничение.
Чтобы перевести интернет-магазин на Magento в режим технического обслуживания, создайте пустой файл maintenance.flag
в корне вашего сайта. После этого при открытии любой страницы сайта вы (и все остальные посетители) будете видеть нечто подобное:
Чтобы открыть себе доступ к функционалу сайта, вам нужно будет внести небольшие правки в файл index.php
в корневой папке Magento. Нам нужно добавить список разрешенных IP-адресов, для которых будет снято ограничение доступа. Для этого откройте файл index.php
и добавьте данный код приблизительно с 50-й строки:
$ip = $_SERVER['REMOTE_ADDR']; $allowedIp = array('1.1.1.1','2.2.2.2');
В массиве $allowedIp = array('1.1.1.1','2.2.2.2');
вам нужно указать список тех IP, с которых доступ будет разрешен.
После этого измените строку в этом же файле с
if (file_exists($maintenanceFile)) {
на
if (file_exists($maintenanceFile) && !in_array($ip, $allowedIp)) {
После правок часть файла index.php
должна выглядеть так:
… $mageFilename = MAGENTO_ROOT . '/app/Mage.php'; $maintenanceFile = 'maintenance.flag'; $ip = $_SERVER['REMOTE_ADDR']; $allowedIp = array('1.1.1.1','2.2.2.2'); if (!file_exists($mageFilename)) { if (is_dir('downloader')) { header("Location: downloader"); } else { echo $mageFilename." was not found"; } exit; } if (file_exists($maintenanceFile) && !in_array($ip, $allowedIp)) { include_once dirname(__FILE__) . '/errors/503.php'; exit; } …
Теперь у вас будет полный доступ к сайту, а все остальные посетители будут видеть страницу с сообщением о проведении технических работ на сайте. Кстати, если вы хотите изменить текст данного сообщения, для этого достаточно будет отредактировать шаблон 503.phtml в папке errors/default
.
Надеемся, что сегодняшний урок был вам полезен!
Содержание статьи Введение: почему цены решают все Что значит сравнение цен с конкурентами 5 причин,…
В последние годы интерес к саунам в Киеве заметно вырос. Это связано не только с…
В современном ритме мегаполиса отдых стал неотъемлемой частью заботы о здоровье и эмоциональном состоянии. Особенно…
В современном мире цифрового маркетинга Facebook (Meta) остается одной из самых мощных платформ для продвижения…
Этот прибор стал незаменимым элементом арсенала представителей множества профессий, но особенно актуален среди военных. Тепловизор…
Постоянный поток новостей, рабочих задач и личных забот часто приводит к тому, что в голове…
View Comments
Спасибо за помощь! То, что нужно. Работает отлично.
Я рад, что смог вам помочь!