2017-10-15 44 views
0

我的網站部署在AWS Beanstalk上。由於我的內容是動態的,每天一次我重新生成一個網站地圖,必須在我的網站上部署(它必須位於同一個域下)。AWS豆莖 - 如何上傳網站地圖?

以前(在Azure和共享主機上)我使用FTP上傳我的站點地圖文件。

如何在AWS Beanstalk上上傳網站地圖?

回答

1

@ MattHouser的回答有點擴展了,下面是我如何解決這個問題。

1)在你的robots.txt文件,告訴爬蟲在哪裏可以找到的Sitemap:

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

2)在你的服務器配置,將請求重定向到sitemap.xml.gz到S3。下面是我如何做到這一點在Rails的:

的config/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] 
+0

是重定向方法適用於谷歌網站管理員工具? – Illidan

+0

不確定您的意思,但我對GWT和遠程託管的站點地圖沒有任何問題。 – Brian

1

你有兩個選擇:

選項1:

對請求動態生成網站地圖。作爲可能的第二步,將生成的站點地圖存儲在某處的緩存中(ElastiCache,S3等)。

選項2:

商店S3的站點地圖。請求站點地圖URL時,從S3下載數據並將其轉發給用戶。當您需要更新站點地圖時,請將更新後的數據上傳到S3。