XML 站点地图呈现为纯文本

问题描述 投票:0回答:2
xml sitemap
2个回答
18
投票

因此,经过数小时的谷歌搜索并进行大量试验和错误后,我设法借助此链接解决了我的问题:Google 多语言站点地图问题

通过更改声明(使用 http://www.w3.org/1999/xhtml):

<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/0.9/sitemap.xsd http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">

对此(使用http://www.w3.org/TR/xhtml11/xhtml11_schema.html):

<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/0.9/sitemap.xsd http://www.w3.org/TR/xhtml11/xhtml11_schema.html http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/TR/xhtml11/xhtml11_schema.html">

现在,当在浏览器上访问 XML 文件时,它现在返回 XML 格式而不是纯文本。

希望这可以帮助其他有需要的人。 :)


0
投票

您的服务器似乎没有为 XML 文件发送正确的 Content-Type HTTP 标头。请尝试更新您的 Web 服务器配置以发送

application/xml
HTTP 标头中的值
Content-Type
,而不是
text/xml

为此:

  • Apache:确保启用

    mod_mime
    ,并将以下行添加到您的 .htaccess 文件或 vhost .conf 文件中:
    AddType application/xml    xml

  • Nginx:编辑

    /etc/nginx/mime.types
    并在
    types{}
    中添加以下行,如下所示:

types {
    # ...
    application/xml    xml;
    # ...
}
© www.soinside.com 2019 - 2024. All rights reserved.