Авторизация

Как в UMI.CMS изменьть адрес домена в sitemap.xml и robots.txt

Проблема: Случайно активировал ключ на поддомене. Всё работает, но в карте сайта sitemap.xml выводится адрес поддомена. Это нужно исправить. Версия системы: 2.9.7.

Описание: Чтобы это исправить исследуем работу скрипта обновления карты сайта, сначало в js скрипте запускается confirmButtonOkClick(), затем OKCallback() в нём processUpdateSitemap(), где идёт обращение через ajax к методу update_sitemap() по адресу classes/modules/config/__domains.php и в нём запускается updateSiteMap(), который находится в classes/system/subsystems/models/hierarchy/umiHierarchyElement.php

Найдём метод updateSiteMap, в нём строку

$link = $hierarchy->getPathById($this->id, false, false, true);

после неё напишем:
$link = preg_replace('/umi\.domain.ru/', 'domain.ru', $link);

Сохраним и в модуле "Конфигурация" на вкладке "Домены" обновим карту сайта. Теперь в карте сайта должен вывестись нужный нам домен.

 

Так же не забудьте исправить ссылку на sitemap.xml в robots.txt. Для этого в файле libs/root-src/sbots.php нужно исправить почти последнюю строч, у меня ( в версии 2.9.7 ) она выглядела так:

$buffer->push("Host: {$host} \r\n");

$buffer-push("Sitemap: http://{$host}/sitemap.xml \r\n");

Исправить $host на нужный нам домен.

 

После этого обновлять систему нельзя.

[ Saitadmin.ru || с 2006 по текущий год || Санкт-Петербург || Антон Панченко ]