Jump to content

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. Andrews32 changed their profile photo
  4. Тоже озадачился подобным вопросом, ибо форум установлен не в корне сайта, а в папке /forum/ и недавно возникла необходимость, чтобы сайт открывался по двум доменам. На основном сайте (который в корне) я это решил установкой специального плагина для WordPress, а вот на форуме... ...спасибо polym0rph! Благодаря тебе понял, куда копать, и в файле 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, если просто нужно заменить абсолютные пути на относительные, то вместо $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/