php生成xml代码但浏览器在html

时间:2016-04-01 22:42:23

标签: php xml

我为Google阅读创建了页面http://omenorpreco.com/sitemap_index.xml并识别了我的所有网页。

但是,当访问此页面时,XML不会以xml模式打开。

如果我查看此页面的来源,在桌面上的文件中复制并过去并在brownser中打开,则此文件正确打开

有什么问题?

  <?php
    echo "<?xml version='1.0' encoding='UTF-8'?>";?>
        <sitemapindex 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/siteindex.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php
        header("Content-Type: application/xml; charset=UTF-8");
        $sql = "SELECT ceil(count(*)/5000) as total FROM `produto_price`";
        $result = mysql_query($sql);
        $row = mysql_fetch_array($result);
?>
        <sitemap>
            <loc>http://omenorpreco.com/sitemap-categoria.xml</loc>
            <lastmod><?php echo date('Y-m-d'); ?></lastmod>
        </sitemap>
<?php
        for($i = 1; $i <= $row['total']; $i++) : ?>
            <sitemap>
                <loc>http://omenorpreco.com/sitemap-<?php echo $i ; ?>.xml</loc>
                <lastmod><?php echo date('Y-m-d'); ?></lastmod>
            </sitemap>
<?php 
        endfor 
?>
    </sitemapindex>

我的.htaccess文件重定向到url_amigavel.php

url_amigavel.php包含文件sitemap_index.php

1 个答案:

答案 0 :(得分:0)

试试这个

<?php 
    header("Content-Type: application/xml; charset=UTF-8");
    echo "<?xml version='1.0' encoding='UTF-8'?>";
    $sql    = "SELECT ceil(count(*)/5000) as total FROM `produto_price`";
    $result = mysql_query($sql);
    $row    = mysql_fetch_array($result);
?>
<sitemapindex 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/siteindex.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <sitemap>
        <loc>http://omenorpreco.com/sitemap-categoria.xml</loc>
        <lastmod><?php echo date('Y-m-d'); ?></lastmod>
    </sitemap>
<?php for($i = 1; $i <= $row['total']; $i++): ?>
    <sitemap>
        <loc>http://omenorpreco.com/sitemap-<?php echo $i ; ?>.xml</loc>
        <lastmod><?php echo date('Y-m-d'); ?></lastmod>
    </sitemap>
<?php endfor; ?>
</sitemapindex>