<head /> в карте сайта после перехода с apache на nginx

У меня есть карта сайта с именем http://www.domain.com/sitemap1.php. Это начинается с этого кода:

<?php
echo '<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://www.weddingpages.nl/sitemap.xsl"?><urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/09/sitemap.xsd"        xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
';

После перехода с Apache на Nginx инструменты для веб-мастеров Google начали отказывать моим картам сайтов в том, что они выглядят как HTML-страницы.

При взгляде на вывод я увидел что-то странное.

С Nginx:

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://www.weddingpages.nl/sitemap.xsl"?><head/><urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/09/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

С Apache:

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://www.weddingpages.nl/sitemap.xsl"?><urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/09/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

По какой-то причине я не понимаю, Nginx бросает в

<head/>

прямо перед urlset.

Кто-нибудь знает причину этого? Я боюсь, что это является причиной проблемы. Но даже после поиска я не нашел ответа.

1 ответ

Я не знаю, правильно ли отвечать на мой вопрос. Но через несколько дней я наконец нашел решение.

Я хочу поблагодарить Алексея Тен за упоминание слова "модуль". Кажется, проблема в модуле pagepeed. Отключение скорости страниц в файлах конфигурации nginx решило проблему. Я прочитал только изменения скорости страниц в html, поэтому, вероятно, PageSeded думал, что этот вывод в формате xml был html. Я снова включил скорость страниц и добавил:

header('Content-Type: text/xml');

в.php файлах. Теперь все работает нормально. Странно то, что я также использовал Apache с модулем pagespeed и у меня никогда не было этой проблемы. Вероятно, есть разница в поведении скорости страниц с Nginx по сравнению с Apache.

Другие вопросы по тегам