Не меняются региональные sitemap
В файле sitemap неверно подставляется домен.

Для правильной подмены адреса нужно проверить наличие правил в .htaccess. Для этого перейдите в Контент → Структура сайта → Файлы и папки.

Найдите файл с названием .htaccess и перейдите к его редактированию.

Проверьте наличие этих трех правил:
# ASPRO_SITEMAP_sitemap_files Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap_files.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap_files.php -f
RewriteRule ^(.*)$ /sitemap_files.php [L]
# ASPRO_SITEMAP_sitemap Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} sitemap.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap.php -f
RewriteRule ^(.*)$ /sitemap.php [L]
# ASPRO_ROBOTS Serve sitemap.xml with sitemap.php only if the latter exists
RewriteCond %{REQUEST_FILENAME} robots.txt
RewriteCond %{DOCUMENT_ROOT}/robots.php -f
RewriteRule ^(.*)$ /robots.php [L]

Если таких правил нет или отсутствует одно из них, нужно добавить его перед соответствующим блоком кода. Добавлять правила следует через панель управления хостингом или через FTP.

Сохраните изменения.
Как изменить карту сайта при использовании Nginx
Существует 2 варианта:
-
Подключить обработку файлом .htaccess, если есть такая возможность.
-
Если настроена быстрая отдача файлов txt и xml или если обработка .htaccess отключена, стоит указать дополнительные правила перенаправления для Nginx.
Рассмотрим подробнее 2-й вариант.
По умолчанию, конфигурационный файл называется nginx.conf и расположен в каталоге /usr/local/nginx/conf, /etc/nginx или /usr/local/etc/nginx.
Для VMBitrix файл пользовательских правил расположен /etc/nginx/bx/site_settings/ваш_сайт/bx_temp.conf.
В файле в секции server {...} пропишите правила:
location = /robots.txt { rewrite ^(.*)$ /robots.php; }
location ~* /sitemap(.*)\.xml { rewrite ^/sitemap(.*)\xml$ /sitemap$1.php; }
Также для sitemap.xml есть альтернативное правило:
location ^~ /sitemap { proxy_pass $proxyserver; rewrite ^/sitemap(.*)\.xml$ /sitemap$1.php; }
Правила в .htaccess были и вроде правильные.
Помогло только удаление файла (переименовал -----robots.txt) и начало отдавать разные файлы на поддоментах.
Может кому-то будет полезно. Может кто-то подскажет почему так.
Здравствуйте, Денис! Благодарим за интересный вопрос.
Сейчас sitemap действительно меняет только домен. В будущем планируем добавить и учет регионального фильтра. Зафиксировали задачу под номером MAX-3823. Реализуем в одном из обновлений. Всего доброго!
Ссылки отдают 404 же в карте из за этого.
Дмитрий, здравствуйте! Благодарим за комментарий.
Понимаем, что учет регионального фильтра при формирования sitemap важен для вас. Задачу мы пока не закрыли, так как собираем обратную связь пользователей. Обязательно реализуем функционал в будущих обновлениях.
Желаем хорошего дня!
Здравствуйте! В теории есть два варианта исправления:
1. Вы можете подключить обработку файлом .htaccess. Но как показывает практика, этот вариант нравится не всем.
2. Вы можете переписать правила из файла .htaccess для Ngnix. Обычно этим занимается сисадмин или сам хостинг-провайдер.
Благодарим вас за активность. Ради вас мы изучим эту проблему подробнее. Может быть пропишем отдельную статью для сценария работы с Ngnix. Будем на связи
location /sitemap.xml { rewrite ^(.*)$ /sitemap.php; } location ~* /sitemap.+\.xml { rewrite ^/sitemap(.*)\.xml$ /sitemap$1.php; } location = /robots.txt { allow all; log_not_found off; access_log off; rewrite ^(.*)$ /robots.php; }Здравствуйте. Благодарим, что поделились своим опытом. Наши программисты позже проверят ваш вариант кода.
Наши клиенты часто кастомизируют решение под свои нужды. Но мы всегда рекомендуем обращаться или консультировать со специалистами. Поэтому призываем пользователей всегда делать резервную копию и проверять код перед внесением изменений.
Хорошего вам дня!
Здравствуйте, Михаил!
Спасибо за комментарий! Пожалуйста, напишите по этому вопросу в техподдержку: