paulenot
@paulenot
IT Issue

Почему выводится html код при генерации sitemap.xml с помощью php?

У меня на сайте присутствует роутер, принимающий запросы, если $_SERVER['REQUEST_URI'] == "/sitemap.xml", то генерируется карта сайта по принципу:
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
scan_recursive('./pages', 'scan_callback'); //Фозвращает кучу '<url><loc>https://domain.com/pages</loc></url>';
echo '</urlset>';

Но в результате я получаю тот же sitemap, только в тегах . Как это исправить? Если открыть обыкновенный sitemap.xml, то браузер отображает весь текст вместе с тегами , но я вижу что с HTML разметкой теги не отображаются, а все ссылки кучей навалены на странице. Хочу сразу сказать, что HTML шаблон для отображения страниц подключается только при условии, что $_SERVER['REQUEST_URI'] != '/sitemap.xml', откуда берется html разметка мне не понятно.
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
leha_gorbunov
@leha_gorbunov
Программист
Потому что перед выводом всего, что Вы нам тут показали, надо сообщать браузеру, что Вы выводите xml
Добавьте первой строкой
header('Content-Type : text/xml');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы