Как сделать 301 редирект страницы на DLE?

301 редирект DLE Буквально несколько дней назад столкнулся с необходимостью сделать 301 редирект на DLE. Но как оказалось стандартными методами это сделать нельзя и пришлось искать альтернативный вариант.

Как известно обычно ставишь редирект в файле .htaccess и спокойно работаешь дальше над другими делами.  Так же я решил поступить и на CMS DLE, но был огорчен после установки кода.

А проблема заключается в мусоре ссылки, которая появляется после редиректа.

Пример: http://www.site.ru/articles/347-kak-sdelat-reditrect-301-na-dle.html?do=static&page=kak-sdelat-reditrect-301-na-dle

Как видите к концу адреса добавляется "?do=static&page=kak-sdelat-reditrect-301-na-dle" что не есть хорошо...



Если вы пришли с поиска, то наверное у Вас такая же проблема. Но для того чтобы сделать 301 редирект страницы на DLE,  нужно вставить код редиректа в файл index.php и будет Вам счастье.

Код для редиректа:

if ( getenv('REQUEST_URI') == '/stranica-do-redirecta/' )
{
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://site.ru/stranica-posle-redirecta/" );
exit;
}

Думаю в этом коде будет все понятно, если будут вопросы то задавайте их в комментариях.

Так же прошу обратить внимание на то, что код нужно ставить в index.php который находиться в главной директории сайта (там где лежит файл admin.php)

Спасибо за внимание!



  • Vlad

    А как сам редирект в .htaccess выглядит. Скинь плиз:)

  • Андрей

    У меня такая же проблема. А как быть если нужно много редиректов 301 написать? Много раз писать этот код?
    if ( getenv(’REQUEST_URI’) == ‘/первая статья/‘ )
    {
    Header( “HTTP/1.1 301 Moved Permanently” );
    Header( “Location: http://site.ru/первая статья/” );
    exit;
    }
    if ( getenv(’REQUEST_URI’) == ‘/вторая статья/‘ )
    {
    Header( “HTTP/1.1 301 Moved Permanently” );
    Header( “Location: http://site.ru/вторая статья/” );
    exit;
    }
    Если не затруднит напишите примерчик. Спасибо!

  • СаНьКа

    Андрей, все правильно вы поняли. У меня тоже стоит около 10 редиректов.

  • StAlKeR

    Странно.. у меня выдает то ошибку 500.. то 310 (сильно много редиректов).. может не в то место в index.php вставил?.. Хелп?

  • Михаил Добролюбов

    блин а как быть если надо средиректить 200 страниц??

  • http://vasilenko.info/ CaHbKa

    По признаку можно сделать или url полностью стали другими?

  • Михаил Добролюбов

    Во всех урлах были поменяны “+” на “-“, и далее надо было поставить редирект на новые ссылки. Помогло вот такое решение в .хтаацессе: http://pastebin.com/utxT88Ks