July 5, 2012

Битрикс. Делаем страницу 404 правильно.

Всем привет!

Сегодня будет короткий пост о том как стандартными средствами CMS Битрикс сделать обработку 404-ошибки на сервере и выводить собственную страничку с ошибкой в заголовках которой будет ответ 404, а не 200 OK. В противном случае поисковые системы могут посчитать эти страницы за существующие и добавить в индекс много дублей одной странички.

Итак, приступаем.

  1. Открываем .htaccess в корне сайта и прописываем редирект на 404 ошибку:

    ErrorDocument 404 /404.php
    Если в качестве веб-сервера используется Nginx достаточно прописать в конфиге в секции location вот такой код:
    error_page 404 = /404.php;

  2. Создаем страничку 404.php и прописываем перед основным содержанием вот такой код:

    <?php
    include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/urlrewrite.php');
    
    $sapi_type = php_sapi_name();
    if ($sapi_type=="cgi") {
        header("Status: 404");
    } else {
        header("HTTP/1.1 404 Not Found");
    }
    
    @define("ERROR_404","Y");
    
    //Тут уже подключение верней части шаблона и присваивание заголовка
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    
    $APPLICATION->SetTitle("404 - HTTP not found");
    
    //Код страницы
    

Кстати лучше всего будет выводить на этой страничке содержимое карты сайта - bitrix:main.map

  1. ???

  2. PROFIT!!!

Ну вот собственно и все! Удачи в разработке =)

Другие проекты:

hmdw.me

rhamdeew © 2026