htaccess перенаправляет техническое обслуживание, но исключает некоторые папки (многосайтовый план hostgator)

Я создаю виртуальный магазин с Magento и использую хостинг HostGator с "M план, у которого есть поддержка более одного сайта, проблема в том, что Magento находится в корне и у меня есть еще один сайт внутри папки /example.com.br, но когда я пытаюсь зайти на этот сайт через браузер:

http://example.com.br

Меня перенаправляют на сайт Magento:

http://magentosite.com.br/maintenance.html

Htaccess, который находится в корневой папке (htaccess magento), перенаправляет на страницу обслуживания magento http://magentosite.com.br/maintenance.html, и мне нужно оставить только Magento в обслуживании, а не сайты, которые находятся в определенных папках, таких как папка /example.com.br, /example2.com.br и т. д.

Это код обслуживания, который я использую в Magento (который находится в Root):

RewriteEngine On
RewriteBase /
# allow my ip to access magento store
RewriteCond %{REMOTE_ADDR} !^177\.18\.228\.58
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ https://magentosite.com.br/maintenance.html [R=307,L]

Я попробовал это решение, https://stackoverflow.com/a/6528448/2761794, но у меня это не сработало. .


person rafaelfndev    schedule 10.12.2016    source источник


Ответы (1)


Я использовал режим обслуживания Magento и вместо файла «maintenance.flag» создал свой собственный файл и перенаправил его, поэтому мне не пришлось изменять файл htaccess, поэтому другие сайты в подпапке работали нормально.

Я добавляю этот код в index.php корня Magento:

$maintenanceFile = 'maintenance.html';
$ip = $_SERVER['REMOTE_ADDR'];
$allowed = array('177.99.108.78', 'another ip...');

if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) {
    // include_once dirname(__FILE__) . '/errors/503.php';
    include_once dirname(__FILE__) . '/maintenance.html';
    exit;
}
person rafaelfndev    schedule 01.01.2017