Общие

Не верно генерируются региональные sitemap у аспро максимум

Не верно генерируются региональные sitemap у аспро максимум

🔴 Главные проблемы:

1. Отсутствуют критически важные правила

 В вашем файле **НЕТ** двух обязательных правил из рекомендаций:
# ASPRO_SITEMAP_sitemap_files - ОТСУТСТВУЕТ!
RewriteCond %{REQUEST_FILENAME} sitemap_files.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap_files.php -f
RewriteRule ^(.*)$ /sitemap_files.php [L]

# ASPRO_SITEMAP_sitemap - ОТСУТСТВУЕТ!
RewriteCond %{REQUEST_FILENAME} sitemap.xml
RewriteCond %{DOCUMENT_ROOT}/sitemap.php -f
RewriteRule ^(.*)$ /sitemap.php [L]
 У вас есть только `sitemap-files.xml` (с дефисом), но нет основных `sitemap_files.xml` и `sitemap.xml`.

2. Неправильное расположение правил Битрикса

 Правила для `urlrewrite.php` должны идти **ПОСЛЕ** всех правил ASPRO, но у вас они идут сразу после `robots.txt`.

✅ Исправленный .htaccess:

Options -Indexes
ErrorDocument 404 /404.php

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On

    # Let's Encrypt verification
    RewriteRule ^\.well-known/acme-challenge/ - [L]

    # 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_SITEMAP_sitemap-iblock-9 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-9.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-9.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-9.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-7 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-7.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-7.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-7.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-6 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-6.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-6.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-6.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-5 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-5.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-5.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-5.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-39 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-39.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-39.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-39.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-15 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-15.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-15.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-15.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-14 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-14.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-14.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-14.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-13 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-13.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-13.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-13.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-12 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-12.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-12.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-12.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-11 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-11.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-11.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-11.php [L]

    # ASPRO_SITEMAP_sitemap-iblock-10 Serve sitemap.xml with sitemap.php only if the latter exists
    RewriteCond %{REQUEST_FILENAME} sitemap-iblock-10.xml
    RewriteCond %{DOCUMENT_ROOT}/sitemap-iblock-10.php -f
    RewriteRule ^(.*)$ /sitemap-iblock-10.php [L]

    # 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_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]

    # Bitrix URL rewrite (должно быть в конце!)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
    RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]

    RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html
</IfModule>

<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresByType image/jpeg "access plus 3 day"
    ExpiresByType image/gif "access plus 3 day"
</IfModule>

📋 Что нужно сделать:

- **Добавьте** два недостающих правила для `sitemap_files.xml` и `sitemap.xml`

- **Проверьте**, что соответствующие PHP-файлы существуют:


	<li>`/sitemap_files.php`

	- `/sitemap.php`
- **Очистите кеш** Битрикса после внесения изменений
- **Проверьте права** на файлы `.htaccess` (должны быть 644 или 664)


 После этих изменений региональные sitemap должны начать корректно работать с поддоменами.

Чтобы заработали региональные sitemap и robots АСПРО

Надо их сгенерировать в разделе Аспро-> Генерация файлов -> sitemap.xml

после этого они появятся в папке /aspro_regions

если с robots всё понятно и региональный файл подцепляется сразу, то с sitemap не так всё быстро.

в htaccess добавляются правила подмены robots.txt на robots.php

для каждого инфоблока и статичных файлов sitemap***.xml на sitemap***.php

в некоторых версиях было пропущено правило для sitemap.xml

ASPRO_SITEMAP_sitemap-files 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]

добавили правило - sitemap теперь показывает правильный.

[https://aspro.ru/docs/course/course58/lesson3862/](https://aspro.ru/docs/course/course58/lesson3862/)