Вообщем, у меня было решение для предпоследней версии модуля sitemap 1.3.9, сегодня обновил до свежей 1.3.10, вот решение для нее (там изменена процедура формирования УРЛ для карты).
1. Нужен файл /apps/sitemap/admin/admin.php
2. Примерно на 125 строке расположена функция, формирующая вывод файла карты
protected function createSitemapFile($file_name, $urls){
3. Через несколько строк начинается условие проверки каждого УРЛ на наличие в его начале "http://" (т.е. проверяется, абсолютная ссылка или относительная)
if(preg_match('/^(http:|https:)/', $u['url'])){
4. Находим чуть ниже строку
$ret.='<loc>'.$u['url'].'</loc>'."\n";
И вместо неё вставляем условие проверки последнего символа (ЕСЛИ последний_символ НЕ "/", ТО выводим урл с "/", ИНАЧЕ оставляем, как есть):
if(substr($u['url'], -1) != '/') {$ret.='<loc>'.$u['url'].'/</loc>'."\n";}
else
{
{$ret.='<loc>'.$u['url'].'</loc>'."\n";}
}
5. Спускаемся ниже и строку
$ret.='<loc>'.$this->site_link.$u['url'].'</loc>'."\n";
Меняем на
if(substr($u['url'], -1) != '/') {$ret.='<loc>'.$this->site_link.$u['url'].'/</loc>'."\n";}
else
{
{$ret.='<loc>'.$this->site_link.$u['url'].'</loc>'."\n";}
}
6. Все. Чтобы увидеть результат, в НАСТРОЙКАХ \ SITEMAP админки поменяйте время формирования карты сайта (на время).
PS: Предупреждаю, что перед этим необходимо все ссылки в шаблонах проставить со слэшем в конце (_view, _grid_thumbs, _grid_list, menu_decorator, ссылки на любые статичные страницы, может еще где найдете), актуализировать disallow в robots.txt (по умолчанию там часть закрытых категорий стоит без слэша), а также настроить 301 редирект в .htaccess:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
PPS: Вот, к чему приводит, когда сам сайт причесываешь на слэш в конце каждой ссылки, а в sitemap бардак!!! Каждая страница вгоняется дважды в индекс, что приводит к возникновению большого количества дублей!