下面是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 请任何人都可以直接我到了正确的地方?我做错了什么?
答案 0 :(得分:0)
也许这是一个重写问题??
RewriteRule ^sitemap.xml(.*)$ /sitemap.php?$1
使用sitemap.php作为保存代码的php文件的名称。
此外,无关,您在所有的loc路径中都有:
filename.php.php
很确定你会想要删除你已经硬编码的.php。