AWS Beanstalk - 如何上传站点地图?

时间:2017-10-15 15:33:23

标签: amazon-web-services elastic-beanstalk

我的网站部署在AWS Beanstalk上。由于我的内容是动态的,我每天都会重新生成一个站点地图,该站点地图必须部署在我的网站上(它必须位于同一个域下)。

以前(在Azure和共享主机上)我是通过使用FTP上传我的站点地图文件来实现的。

如何在AWS Beanstalk上上传站点地图?

2 个答案:

答案 0 :(得分:2)

扩展@ MattHouser的答案,这是我如何解决这个问题。

1)在您的robots.txt文件中,告诉抓取工具在哪里找到该网站地图:

Sitemap: https://www.example.com/sitemap.xml.gz

2)在您的网络服务器配置中,将请求重定向到sitemap.xml.gz到S3。这是我在Rails中的表现:

<强>配置/ routes.rb中

# Redirect sitemap files to S3 since google wants sitemaps to be hosted on the primary domain
match '/sitemap.xml.gz' =>
redirect { |params, _req|
  "https://s3.amazonaws.com/elasticbeanstalk-us-east-1-xxxxxxxxxxxx/sitemaps/sitemap.xml.gz"
}, via: [:get]

答案 1 :(得分:1)

您有几个选择:

选项1:

根据请求动态生成站点地图。作为第二步,将生成的站点地图存储在某个地方的缓存中(ElastiCache,S3等)。

选项2:

将站点地图存储在S3上。请求站点地图URL时,从S3下载数据并将其转发给您的用户。当您需要更新站点地图时,请将更新的数据上传到S3。