Есть несколько способов поставить заглушку на сайт, работающий на 1С-Битрикс. Выбор метода зависит от того, что вы хотите показать на заглушке, и как долго она будет активна. Вот несколько вариантов:
1. Используя файл .Maintenance. php (Рекомендуемый способ, простой и безопасный):
Этот способ показывает стандартную страницу обслуживания 1С-Битрикс. Он удобен, так как не требует изменения файлов ядра и автоматически отключается после установки обновлений системы.
Создайте файл .Maintenance. php в корне сайта. Если такого файла еще нет, создайте его с помощью текстового редактора. Вставьте в файл следующий код:
If (!defined(‘ADMIN_SECTION’) || ADMIN_SECTION!== true)
{
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before. php");
CHTTP::SetStatus("503 Service Temporarily Unavailable");
@header(‘Retry-After: 3600’); // Указывает, через сколько секунд можно повторить запрос (1 час)
CMain::IncludeFile(
$_SERVER["DOCUMENT_ROOT"]."/bitrix/templates/".SITE_TEMPLATE_ID."/header. php",
Array(),
Array(
"SHOW_BORDER" => false,
"MODE" => "HTML"
)
);
?>
Сайт временно не работает
Ведутся технические работы. Приносим свои извинения за неудобства.
CMain::IncludeFile(
$_SERVER["DOCUMENT_ROOT"]."/bitrix/templates/".SITE_TEMPLATE_ID."/footer. php",
Array(),
Array(
"SHOW_BORDER" => false,
"MODE" => "HTML"
)
);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after. php");
die();
}
?>
Измените текст и стили (по желанию). Вы можете изменить текст сообщения, добавить логотип или изменить стили, редактируя HTML и CSS код внутри тегов
и
. Загрузите файл на сервер. Загрузите файл .maintenance. php в корневую директорию вашего сайта (туда же, где находятся файлы index. php, .htaccess и папка bitrix).
Объяснение кода:
if (!defined(‘ADMIN_SECTION’) || ADMIN_SECTION!== true): Эта строка проверяет, находится ли пользователь в административной части сайта. Если да, то заглушка не показывается, и администраторы могут работать с сайтом. CHTTP::SetStatus("503 Service Temporarily Unavailable"): Устанавливает HTTP-статус 503, который сообщает поисковым системам, что сайт временно недоступен. @header(‘Retry-After: 3600’): Указывает браузерам и поисковым роботам, через сколько секунд нужно повторить запрос (в данном случае, через 1 час). CMain::IncludeFile(…): Подключает header и footer вашего шаблона сайта, чтобы заглушка выглядела в стиле вашего сайта. die(): Прерывает выполнение скрипта, чтобы остальной код сайта не выполнялся.
Чтобы убрать заглушку: Просто удалите файл .maintenance. php с сервера.
2. Используя файл .htaccess (Для опытных пользователей, может повлиять на SEO):
Этот метод перенаправляет все запросы на определенную страницу-заглушку. Его следует использовать с осторожностью, так как некорректная настройка .htaccess может привести к неработоспособности сайта.
Создайте страницу-заглушку (например, Maintenance. php). Создайте PHP-файл с нужным HTML-кодом, который будет отображаться в качестве заглушки. Поместите его, например, в корневую директорию сайта. Отредактируйте файл .htaccess в корне сайта. Добавьте в файл .htaccess следующие строки (в начало файла):
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/maintenance\.php$
RewriteCond %{REMOTE_ADDR} !^ВАШ_IP_АДРЕС$
RewriteRule ^(.*)$ /maintenance. php [R=503,L]
Замените ВАШ_IP_АДРЕС на ваш IP-адрес. Это позволит вам просматривать сайт, даже когда заглушка активна. Можно указать несколько IP-адресов, разделенных символом “|”. Загрузите файл на сервер. Загрузите файл .htaccess с изменениями на сервер.
Объяснение кода:
RewriteEngine On: Включает модуль mod_rewrite. RewriteCond %{REQUEST_URI} !^/maintenance\.php$: Проверяет, что запрашиваемый URI не является файлом maintenance. php. Это нужно, чтобы избежать бесконечного цикла перенаправлений. RewriteCond %{REMOTE_ADDR} !^ВАШ_IP_АДРЕС$: Проверяет, что IP-адрес клиента не совпадает с вашим IP-адресом. Это нужно, чтобы вы могли просматривать сайт, когда заглушка активна. RewriteRule ^(.*)$ /maintenance. php [R=503,L]: Перенаправляет все запросы на файл maintenance. php с кодом ответа 503 (Service Temporarily Unavailable).
Чтобы убрать заглушку: Удалите добавленные строки из файла .htaccess.
3. Отключение сайта через административную панель (Если есть доступ к админке):
Хотя в 1С-Битрикс нет Прямой функции “включить заглушку”, вы можете использовать функциональность “многосайтовости” и перенаправить основной сайт на пустую страницу. Это сложный способ и требует определенных знаний.
Создайте пустой сайт. Создайте новый сайт в системе многосайтовости, с пустым шаблоном и минимальным наполнением. На главной странице этого сайта можно разместить текст заглушки. Измените настройки основного сайта. В настройках основного сайта (на вкладке “Сайты”) измените его “URL сайта” (SITE_SERVER_NAME) на какое-нибудь несуществующее значение (например, off. site. com). Это приведет к тому, что при попытке зайти на основной сайт, он не будет найден. Перенаправьте домен. На уровне DNS или веб-сервера (например, в настройках Apache или Nginx) перенаправьте основной домен сайта на папку, где расположен созданный пустой сайт.
Этот способ сложный и требует знаний администрирования веб-сервера и DNS.
Какой способ выбрать?
Способ 1 (.maintenance. php): Рекомендуется для большинства случаев. Он прост в использовании, безопасен и не требует изменения файлов ядра. Способ 2 (.htaccess): Подходит для опытных пользователей, которым нужна более гибкая настройка. Требует осторожности, так как некорректная настройка .htaccess может привести к неработоспособности сайта. Способ 3 (Многосайтовость): Используйте, если нужно более сложное поведение, но требует понимания многосайтовости и настроек веб-сервера.
Рекомендации:
Перед внесением изменений сделайте резервную копию сайта. Протестируйте заглушку на тестовом сайте, прежде чем применять ее на рабочем сайте. Укажите свой IP-адрес в файле .htaccess, чтобы иметь возможность просматривать сайт во время обслуживания. Не забудьте убрать заглушку после завершения технических работ. Информируйте пользователей о проведении технических работ (например, разместите объявление в социальных сетях).
Выбирайте способ, который лучше всего соответствует вашим потребностям и знаниям.