Перейти к содержанию

Andrews32

Новичок
  • Постов

    3
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Andrews32

  1. Готово!

    В файле  /admin/sources/classes/output/formats/coreOutput.php нужно заменить:

    $this->registry->getClass('output')->addToDocumentHead( 'raw' , '<link id="ipsCanonical" rel="canonical" href="' . $url . '" />' );

    на

    $this->registry->getClass('output')->addToDocumentHead( 'raw' , '<link id="ipsCanonical" rel="canonical" href="https://www.site.ru' . substr_replace( $url, '', 0, 19 ) . '" />' );

    Число 19 складывается из количества символов, которые нужно отбросить в начале неканоничного URL (в данном примере это https://www.site.ru - как раз 19 символов - у меня сайт с https и с www).

    https://www.site.ru - в данном случае это главное зеркало

  2. Но в этом случае движок форума будет выдавать :

    <link id="ipsCanonical" rel="canonical" href="http://текущий_домен/раздел/страница/" />

    Как сделать, чтобы в href был указан главный домен (по которому форум проЯндексирован) - пока не понял...

    Canonial задаётся в шаблоне: /admin/sources/classes/output/formats/coreOutput.php

    осталось написать рабочую функцию по замене текущего зеркала на главное...

  3. Тоже озадачился подобным вопросом, ибо форум установлен не в корне сайта, а в папке /forum/ и недавно возникла необходимость, чтобы сайт открывался по двум доменам. На основном сайте (который в корне) я это решил установкой специального плагина для WordPress, а вот на форуме...

    ...спасибо polym0rph! :D Благодаря тебе понял, куда копать, и в  файле conf_global.php накодил:

    //$INFO['board_url']			=	'https://www.site.ru/forum'; - исходное значение. Больше не нужно
    if ($_SERVER['HTTP_HOST'] == "www.site.by") { $INFO['board_url']			=	'https://www.site.by/forum'; }
    else { $INFO['board_url']			=	'https://www.site.ru/forum'; }

    Bonfire, 

    В 30.12.2016 в 07:41, Bonfire сказал:

    А как надо?

    если просто нужно заменить абсолютные пути на относительные, то вместо

    $INFO['board_url']            =    'https://www.site.ru/forum';

    пишем

    $INFO['board_url']            =    '/forum';

    Только если у вас сайт с www, форум после этого станет без www (нужно дополнительно мудрить в .htaccess в корне, или папке /forum/ если форум не в корне лежит).

    А если зеркал много (да и просто, если лень прописывать оба зеркала), можно ещё улучшить мой код, и тогда текущее зеркало будет подставляться в конфиг автоматически:

    $INFO['board_url']            =    $_SERVER['HTTP_HOST']; // если форум лежит в корневой директории
    $INFO['board_url']            =    $_SERVER['HTTP_HOST'] . '/forum'; // если форум лежит в папке /forum/

     

×
×
  • Создать...