我想为谷歌制作一个站点地图。最快的方法(我认为)是使用linux命令将查询直接导出到txt文件。我是这样做的
$ mysql -pMyPassword -e "SELECT concat('http:/mysitecom/',id,'/',urlPart1,'/',urlPart2,'/') as url FROM products LIMIT 50000" > /home/file.xml
问题是google说txt文件中只有url,而我的第一行是" url"这是生成的列名,是CSV文件的典型名称。我怎么能跳过它?
答案 0 :(得分:2)
将其管道传输到tail
应该可以正常工作
mysql -pMyPassword -e "SELECT concat('http:/mysitecom/',id,'/',urlPart1,'/',urlPart2,'/') as url FROM products LIMIT 50000" | tail -n +2 > /home/file.xml
请记住,每次更新表时,您都必须这样做。根据您网站的实施情况,我可以想象,编写查询并在domain.com/sitemap
等端点输出列表也不会太复杂 - 您使用的语言是什么?
非常简单:
// do your regular database connection where $db = mysqli_connect(...);
$resource = mysqli_query($db, "SELECT concat('http:/mysitecom/',id,'/',urlPart1,'/',urlPart2,'/') as url FROM products");
while ($arr=mysqli_fetch_row($resource)){
$urls[]=$arr[0];
}
header('Content-type: text/plain');
foreach ($urls as $url){
echo $url.PHP_EOL;
}
应该工作但是没有经过测试! (尤其是标题,这是我的头顶)