即使它在那里也找不到Sitemap

时间:2014-02-02 13:15:09

标签: php html xml sitemap

下面是sitemap.php,它被认为是一个XML站点地图(为了SEO)。 它背后的理论是:它提取menu.inc内的所有链接,并将它们格式化为XML站点地图链接。

<?php
    header ("Content-Type:text/xml");
    echo '<?xml version="1.0" encoding="UTF-8"?>
          <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
          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">'; ?>

<?php
  $url = "assets/includes/menu.inc";
  $input = @file_get_contents($url) or die("Could not access file: $url");
  $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
  if(preg_match_all("/$regexp/siU", $input, $matches, PREG_SET_ORDER)) {
    foreach($matches as $match) {
      // $match[2] = link address
      // $match[3] = link text
      echo '<url><loc>http://' . $_SERVER['SERVER_NAME'] . '/' . $match[2] . '.php</loc></url>';
    }
  }
  echo '</urlset>';
?>

似乎工作正常,请在此处进行实时查看:http://loaistudio.com/sitemap 但是,我不确定它是否被识别为XML文件 - 因此我对其进行了测试并且测试失败 - 未找到站点地图...看看这里:http://seositecheckup.com/test_checkup/sitemap/42b50c824ac00c684c5368f9490a2dfe?url=www.loaistudio.com 请任何人都可以直接我到了正确的地方?我做错了什么?

1 个答案:

答案 0 :(得分:0)

也许这是一个重写问题??

RewriteRule ^sitemap.xml(.*)$ /sitemap.php?$1

使用sitemap.php作为保存代码的php文件的名称。

此外,无关,您在所有的loc路径中都有:

filename.php.php

很确定你会想要删除你已经硬编码的.php。