【问题标题】:Creating dynamic sitemap with php使用 php 创建动态站点地图
【发布时间】:2017-01-05 02:04:33
【问题描述】:

首先让我告诉你我正在学习php。我想为我的网站创建一个自动动态站点地图。该脚本(假设 sitemap.php)将抓取我网站的所有链接,并将创建一个包含 1000 个 URL 的数组。一旦达到 1000 个 url 限制,它将创建一个具有 1000 个 url 数组的另一个页面 id。这样脚本输出将是这样的:

<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/siteindex.xsd">

  <sitemap>
    <loc>http://exmaple.com/sitemap.php?page=1</loc>
  </sitemap>
  <sitemap>
    <loc>http://example.com/sitemap.php?page=2</loc>
  </sitemap>
</sitemapindex>

第 1 页将有 1000 个 xml 格式的 url,第 2 页也将有,这将随着网站的更新而继续。我已经尝试了很多来自 github 的代码和来自 google 的其他搜索页面。但是还没有找到我需要的东西。你能帮忙吗?

【问题讨论】:

    标签: php xml sitemap


    【解决方案1】:

    一个好的解决方案是访问您的根文件夹并将RewriteEngine On之后的以下行添加到您的apache .htaccess文件中

    RewriteRule ^sitemap\.xml$ sitemap.php [L]
    

    然后只需在您的根文件夹中有一个文件sitemap.php,因此通常可以通过http://yoursite.com/sitemap.xml(所有搜索引擎首先搜索的默认URL)访问该文件。

    文件sitemap.php应以确保服务器发送正确的HTTP头:

    <?php header('Content-type: application/xml; charset=utf-8') ?>
    <?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?>
    

    【讨论】:

      【解决方案2】:

      一种解决方案是创建一个 php 脚本,该脚本生成一个包含所有网站 url 的静态 sitemap.xml。 之后,使用 CRON 作业定期运行 php 脚本(例如每周一次)。这将自动更新站点地图。

      【讨论】:

        猜你喜欢
        • 2011-03-03
        • 2019-06-22
        • 1970-01-01
        • 2011-02-14
        • 1970-01-01
        • 1970-01-01
        • 2014-02-11
        • 2019-09-09
        • 1970-01-01
        相关资源
        最近更新 更多