Помощь Переделать редирект

Тема в разделе "DLE", создана пользователем skyn927, 5 май 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. skyn927

    skyn927 Создатель

    Регистр.:
    22 дек 2008
    Сообщения:
    44
    Симпатии:
    5
    Вот сам код редиректа
    <?php

    /***********************************************
    ** @ Author: Hamer
    ** @ Age-Web Media Group
    ** @ 2007-2008
    ** @ ICQ 988303

    aw.hamer@gmail.com

    -----------------------------------------------
    http://age-web.org
    http://getdle.ru
    *************************************************/

    error_reporting(7);

    define('ROOT_DIR', '..' );
    define('ENGINE_DIR' , ROOT_DIR . '/engine');

    require_once ( ENGINE_DIR . '/data/config.php');



    if ( !count($config) || !$config)
    {
    die ("Ошибка в файле <b>engine/data/config.php</b>");
    }
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    // Настройки
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    // Задержка секунд

    define('TIME_SEC' , 5 ); // по умолчанию 3

    // Проверка на валидность URL ?

    define('URL_CHECK' , 1); // по умолчанию 1 ( 0 - нет )
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    // Дальше не мацать код
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    $url = (isset($_GET['url']) && (!empty($_GET['url']))) ? trim($_GET['url']) : @header('Location: /index.php');

    if ( URL_CHECK )
    {
    if ( !eregi ( 'http://' , $url ))
    {
    die ("Неправильно построенный url");
    }
    }
    $link = "<a href=\"".$url."\">".$url."</a>";

    include_once ( ENGINE_DIR . '/' . (($config['version_id'] > 6.2) ? 'classes' : 'inc') . '/templates.class.php');

    $skin = new dle_template;
    $skin -> dir = ( ROOT_DIR.'/templates/');

    $skin -> load_template('redikt.tpl');
    $skin -> set('{link}', $link );

    $TIME_SEC = TIME_SEC;

    if ( TIME_SEC ) {
    $skin -> copy_template .= <<<JAVA
    <script>

    // *************
    // ** Age-Web Timer
    // *************

    var ints = {$TIME_SEC};


    function alertes () {

    document.getElementById('calc').innerHTML = ints;

    if ( ints == 0 ) {
    document.location.href = '{$url}';
    ints = '--';
    }
    if ( ints > 0 ) {
    ints--;
    }
    };

    function refresh(){
    if(ints > 0) time_Interval = setInterval("alertes ()", 1000 );
    };

    refresh();

    </script>
    JAVA;
    }
    $skin -> compile('redikt');
    $skin -> clear();




    //вывод
    print ( $skin -> result ['redikt'] );
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ?>

    Я не знаток PHP поэтому и спрашиваю, как переделать url вызова редиректа, тут используется такой
    http://ваш_сайт/redikt.php?url=http://urlsite.ru

    Что нужно изменить чтоб он стал вида
    http://ваш_сайт/redikt.php?http://urlsite.ru
    тоесть без url=

    Просто на сайте все ссылки уже имеют вид http://ваш_сайт/redikt.php?http://urlsite.ru, а базу ковырять лишеий раз нехочется и опасно
     
  2. @sms

    @sms blog.4ua.info -SEO

    Регистр.:
    20 окт 2006
    Сообщения:
    413
    Симпатии:
    90
    можно попробовать добавить правило в хтексес
    что б работали и по 1 и по 2му примеру
     
  3. skyn927

    skyn927 Создатель

    Регистр.:
    22 дек 2008
    Сообщения:
    44
    Симпатии:
    5
  4. felix90

    felix90 Постоялец

    Регистр.:
    16 июл 2007
    Сообщения:
    109
    Симпатии:
    20
    RewriteRule ^go/([^/]+)$ redikt.php?url=$1 [L]
     
    skyn927 нравится это.
  5. skyn927

    skyn927 Создатель

    Регистр.:
    22 дек 2008
    Сообщения:
    44
    Симпатии:
    5
    Ниподходит правило, либо htaccess'ом не получится.

    Выручайте очень нужен этот редирект по адресу
    http://ваш_сайт/go/?http://сайт куда редиректим

    безвыходная ситуация, граберы вобще наглеют и прут новости вместе с редиректом, вот и нужно их проучить

    если кто знает как это осуществить, но нехочет за даром, пишите в личку
     
  6. autos

    autos

    Регистр.:
    14 июл 2007
    Сообщения:
    184
    Симпатии:
    48
    так эти же граберы и ссылки правят как надо :)

    а для скрипт, замени строчку

    PHP:
    $url = (isset($_GET['url']) && (!empty($_GET['url']))) ? trim($_GET['url']) : @header('Location: /index.php');
    на

    PHP:
    $url = (isset($_SERVER['QUERY_STRING']) && (!empty($_SERVER['QUERY_STRING']))) ? trim($_SERVER['QUERY_STRING']) : @header('Location: /index.php');
    и тогда будет работать как redikt.php?http://urlsite.ru
     
Статус темы:
Закрыта.