Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Перекрестные ссылки из доп поля

Тема в разделе "Вопросы- ответы", создана пользователем Dr_Brown, 4 фев 2017.

04.02.17 в 11:04
05.02.17 в 16:03
8
2.900
0
  1. TopicStarter Overlay
    Dr_Brown

    Dr_Brown Бывалый

    Сообщения:
    568
    Симпатии:
    155
    Лучших ответов:
    0
    Удалил функцию перекрестных ссылок из доп поля по ролям, а страницы все равно открываются по адресу /xfsearch/roles/, таблица в базе _xfsearch чистая, откуда DLE берет адреса этих страниц?
     
  2. PunPun

    PunPun VIP Кинотрафик v2

    Сообщения:
    7.403
    Симпатии:
    3.663
    Лучших ответов:
    32
    Не имеет значения, есть они там или нет. Они всегда будут доступны, даже не перекрестные.
     
  3. TopicStarter Overlay
    Dr_Brown

    Dr_Brown Бывалый

    Сообщения:
    568
    Симпатии:
    155
    Лучших ответов:
    0
    Хорошо, если я набираю /xfsearch/roles/хуй+хуй у меня 404 ошибка. как надо,

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

    aeneas Забанен

    Сообщения:
    11.489
    Симпатии:
    3.825
    Лучших ответов:
    10
    донбот поставь, он их в индекс не пустит
    без донбота как то тоже можно, одну строчку прописываешь в майне в хеадерс и все типа ноиндекс нофоллоуд эту хрень
    гам где то тут на форуме писал про это
     
  5. byroot

    byroot Забанен

    Сообщения:
    12.295
    Симпатии:
    4.495
    Лучших ответов:
    54
    @Dr_Brown, удали все строки с упоминанием xfsearch в файле htaccess. Удали в engine.php кусок
    PHP:
    elseif ($do == 'xfsearch') {
                
    // ################ Поиск новостей по доп. полям #################           
                
    if ($cstart) {
                    
    $cstart $cstart 1;
                    
    $cstart $cstart $config['news_number'];
                }

                
    $xf urldecode $_GET['xf'] );

                if ( 
    $config['charset'] == "windows-1251" AND $config['charset'] != detect_encoding($xf) ) {

                    if( 
    function_exists'mb_convert_encoding' ) ) {
               
                        
    $xf mb_convert_encoding$xf"windows-1251""UTF-8" );
               
                    } elseif( 
    function_exists'iconv' ) ) {
                   
                        
    $xf iconv"UTF-8""windows-1251//IGNORE"$xf );
                   
                    }

                }
               
                if (
    dle_substr $xf, - 11$config['charset'] ) == '/'$xf dle_substr $xf0, - 1$config['charset'] );
               
                
    $xf explode '/'$xf );
                
    $xfname ="";
               
                if( 
    $_GET['xfname'] AND !$config['allow_alt_url'] ) {
                    
    $xfname =$db->safesql(totranslit(trim($_GET['xfname'])));
                } elseif(
    count($xf) > ) {
                    
    $xfname =$db->safesql(totranslit(trim($xf[0])));
                    unset(
    $xf[0]);
                }
               
                
    $xf implode('/'$xf);
                
    $xf = @$db->safesql htmlspecialchars strip_tags stripslashes trim $xf ) ) ), ENT_QUOTES$config['charset'] ) );

                if (isset ( 
    $_SESSION['dle_sort_xfsearch'] )) $news_sort_by $_SESSION['dle_sort_xfsearch'];
                if (isset ( 
    $_SESSION['dle_direction_xfsearch'] )) $news_direction_by $_SESSION['dle_direction_xfsearch'];
               
                if(
    $xfname) {
                   
                    
    $url_page $config['http_home_url'] . "xfsearch/{$xfname}/" urlencode str_replace("'""'"$xf) );
                    
    $user_query "do=xfsearch&xfname=".$xfname."&xf=" urlencode str_replace("'""'"$xf) );
                    
    $db->query "SELECT news_id FROM " PREFIX "_xfsearch WHERE tagname='{$xfname}' AND tagvalue='{$xf}'" );
                   
                } else {
                    
    $url_page $config['http_home_url'] . "xfsearch/" urlencode str_replace("'""'"$xf) );
                    
    $user_query "do=xfsearch&xf=" urlencode str_replace("'""'"$xf) );
                    
    $db->query "SELECT news_id FROM " PREFIX "_xfsearch WHERE tagvalue='{$xf}'" );
                }
               
                
    $xf_array = array ();
               
                while ( 
    $row $db->get_row () ) {
                   
                    
    $xf_array[] = $row['news_id'];
               
                }       
                if (
    count $xf_array )) {
                   
                    
    $xf_array  array_unique($xf_array );               
                    
    $xf_array "(" implode ","$xf_array ) . ")";
                    
    $sql_select "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " PREFIX "_post p LEFT JOIN " PREFIX "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}p.id IN {$xf_array} AND p.approve=1" $where_date " ORDER BY " $news_sort_by " " $news_direction_by " LIMIT " $cstart "," $config['news_number'];
                    
    $sql_count  "SELECT COUNT(*) as count FROM " PREFIX "_post WHERE {$stop_list}id IN {$xf_array} AND approve=1" $where_date;
               
                } else {
                   
                    
    $sql_select "SELECT SQL_CALC_FOUND_ROWS p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " PREFIX "_post p LEFT JOIN " PREFIX "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}xfields LIKE '%{$xf}%' AND approve=1" $where_date " ORDER BY " $news_sort_by " " $news_direction_by " LIMIT " $cstart "," $config['news_number'];
                    
    $sql_count "SELECT FOUND_ROWS() as count";
               
                }
       
                
    $allow_active_news true;
           
            }
    так же можно удалить в show.*.php всё, что относится к формированию ссылок перекрестных ссылок, но это не обязательно.
     
    • Нравится Нравится x 1
  6. TopicStarter Overlay
    Dr_Brown

    Dr_Brown Бывалый

    Сообщения:
    568
    Симпатии:
    155
    Лучших ответов:
    0
    Ребят это очень радикальные методы. Не хотелось бы вообще избавляться от xfsearch вообще, хочу разобраться откуда подтягиваются старые страницы. Бред какой-то....
     
  7. byroot

    byroot Забанен

    Сообщения:
    12.295
    Симпатии:
    4.495
    Лучших ответов:
    54
    страницы если были ранее проиндексированы и при переобходе ботами страницы доступны - они могут влететь в поиск, даже если выставить запрет индексации. Со временем если запрещена индексация этих страниц - они выпадут из индекса. Но в любом случае при прямом обращении по таким ссылкам - ДЛЕ будет выдавать результат, если будут новости.
     
  8. PunPun

    PunPun VIP Кинотрафик v2

    Сообщения:
    7.403
    Симпатии:
    3.663
    Лучших ответов:
    32
    Они в любом случае будут. Создай любой доп поле не перекрестное, и перейди к примеру /xfsearch/твое доп поле/значение доп поля/ и оно будет.
     
  9. TopicStarter Overlay
    Dr_Brown

    Dr_Brown Бывалый

    Сообщения:
    568
    Симпатии:
    155
    Лучших ответов:
    0
    Да понял уже, считаю это абсолютным багом, так как нет проверки на наличие записей в таблице xfsearch