是否允许在 sitemap_index.xml ,?id=1
代码中指定网址的<loc>
部分?
我想创建一个动态站点地图。
我通过将此行AddType application/x-httpd-php .xml
添加到.htaccess来启用php在.xml文件中执行,现在我想创建一个静态站点地图索引文件和一个动态站点地图文件,这里是我写的代码:
sitemap_index.xml :
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://example.com/sitemap.xml?id=1</loc>
<lastmod>2014-07-06</lastmod>
</sitemap>
<sitemap>
<loc>http://example.com/sitemap.xml?id=2</loc>
<lastmod>2014-07-06</lastmod>
</sitemap>
<sitemap>
<loc>http://example.com/sitemap.xml?id=3</loc>
<lastmod>2014-07-06</lastmod>
</sitemap>
<!-- ..And so on -->
</sitemapindex>
sitemap.xml的:
<?php
(empty($_GET['id'])) ? $_GET['id'] = 0 : settype($_GET['id'], 'int');
$result = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
$from = $_GET['id']*45000;
$to = $_GET['id']*45000+45000;
for ($i = $from; $i < $to; $i++) {
$result .= '
<url>
<loc>http://example.com/page.php?id=' . $i . '</loc>
<lastmod>2014-07-06</lastmod>
<changefreq>weekly</changefreq>
</url>';
}
$result .= "\n</urlset>";
echo $result;
?>
答案 0 :(得分:0)
是。任何有效的网址都可以在网站地图中。一个带有查询字符串的URL(这是您的示例所示)是常见且正常的,通常可以在除最基本站点的站点地图之外的所有站点中找到。
是。您可以使用查询字符串获取站点地图网址。 [似乎任何有效的网址都可以工作](。https://webmasters.stackexchange.com/questions/49589/sitemap-xml-file-extension-does-it-have-to-be-xml)。尝试将您的网址提交给Google网站站长工具,您可以验证它是否有效。