[SEO Битрикс] d-url-rewriter.php + d-seo.php

20.11.2016 01:05:59 1273

У кого делалось продвижение в веб-студии Demis Group вероятно сталкивались с проблемой, когда на продвигаемых страницах при сбросе кеша или появлении других параметров в адресной строке типа ?clear_cache=Y, все что-то отваливается, то мета-описания пропадают, то страница не открывается, то Элемент не найден и т.д., динамический раздел/страница не открываются, т.к. не совпадает адрес прописанный в этом файле в переменной $aURLRewriter и адрес реально открытой вами страницы, он получается с параметрами, а это уже другой адрес.

Все проблемы в файле d-url-rewriter.php функция durIFRewrite(), ее нужно заменить на эту, сам файл в корне сайта должен быть.

function durIFRewrite()
{
    global $aURFlip, $aURLRewriter;
    if(DUR_SKIP_THIS)
        return;

    $sKey = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

    $REQUEST_URI =  strtok($_SERVER['REQUEST_URI'], '?');

    if(defined('DUR_SUBDOMAINS') && DUR_SUBDOMAINS && isset($aURFlip[ $sKey ]))
    {
        if(!defined('DUR_ORIG_RURI'))
        {
            define('DUR_ORIG_RURI', $aURFlip[ $sKey ]);
        }
        durRewrite($aURFlip[ $sKey ]);
    }
    elseif(isset($aURFlip[ $REQUEST_URI ]))
    {
        if(!defined('DUR_ORIG_RURI'))
        {
            define('DUR_ORIG_RURI', $aURFlip[ $REQUEST_URI ]);
        }
        durRewrite($aURFlip[ $REQUEST_URI ]);
    }
    elseif(defined('DUR_CMS_TYPE') && (DUR_CMS_TYPE == 'HTML'))
    {
        if(file_exists($_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI']))
        {
            durRewrite($_SERVER['REQUEST_URI']);
        }
        else
        {
            dur404();
        }
    }
}
Установка модуля