it-swarm.cn

如何指定Google站点地图生成器目标目录

有没有办法使用最新版本的 Google Sitemap Generator 指定生成的站点地图文件的位置?

版本是:1.0.0.0? (非常非谷歌版本号,哈哈):

> Sudo /usr/local/google-sitemap-generator/bin/sitemap-daemon -v
Google Sitemap Generator (Beta) Version [1.0.0.0]

仪表板有一个“站点地图文件名”选项,但是没有选项来指定目标目录?它始终将生成的站点地图XML文件放在文档根目录中。我假设它从读取Web服务器日志中发现文档根目录。

为什么我要将站点地图文件放在另一个目录中?

对于我们的部署方法,文档根目录是不好,因为它是 symlink 到当前部署目录,它每天都在变化。为了使站点地图看起来好像它们位于网址根(即http://www.example.com/sitemap.xml),我们使用别名规则将XML文件映射到我们实际保存它们的位置,例如使用 nginx

# Alias all XML files (e.g. Rss) to shared directory
location ~* /(.*\.xml)$ {
    alias /var/www/live/shared/xml/$1;    
}
3
Tom

官方站点地图协议说 它应该位于根URL,它指向的所有文件共享。因此,如果站点地图中的URL类似于http://www.example.com/site/image1.jpghttp://www.example.com/site/mypage.html,则可以将sitemap.xml文件放在http://www.example.com/site/sitemap.xmlhttp://www.example.com/sitemap.xml中。

如果由于某种原因无法在该目录中放置站点地图,只要您的.htaccess或ISAPI重写(或任何其他URL重写器)可以“假装”它位于根目录,您就可以将它放在服务器上的任何位置。我已经在ASP站点上成功使用ISAPI Rewrite。

5
JoshMock

我没有使用过该工具,所以我不知道你问题的直接答案。但是,如果找不到将文件放在别处的方法,可以将它们复制到不同的文件夹,如下所示:

cp -t sitemaps/ *.xml

其中sitemaps是文件夹名称,*.xml选择所有输入文件,假设它们具有.xml扩展名。您可以创建运行站点地图生成器的批处理脚本,然后将所有文件复制到一起。

虽然官方协议说站点地图应该在根目录中,但实际上它们可以在同一个域中的任何地方(我之前将它们放在自己的站点地图文件夹中,没有任何问题)。

如果你有很多站点地图,你还应该创建一个 站点地图索引文件 。这样,您只需要将索引文件提交给每个网站管理员工具。

2
DisgruntledGoat

我遇到了同样的问题,但没有在这里或任何谷歌帮助或配置文件中找到我的答案。那么让我在这里分享吧!

我读了我的日志,看到:

2012-08-21T17:55:01Z:Writer无法打开文件:/htdocs/web_sitemap_4149a902_000.xml(2)

您必须在系统根目录中创建名为“htdocs”的符号链接:

cd /
ln -s /home/www/yoursiterootdir htdocs

不要问我符号链接是否在Windows上工作,但我发现Windows上的奶牛命令几乎“ln”(NTFS)!

mklink [[/D] | [/H] | [/J]] linkName target

然后 :

2012-08-21T18:05:01Z:成功为网站[....]生成[网站地图]

我需要的地方

请享用

1
Mea_Poulpa