我正在使用sitemap_generator gem 为我的站点生成站点地图。
在本地生成站点地图可以正常工作,我可以在http://localhost:3000/sitemap1.xml.gz
.
部署到 Heroku 并运行后
heroku run rake sitemap:refresh --app myapp-prod
我明白了:
In /app/public/
+ sitemap1.xml.gz 254 links / 4.74 KB
+ sitemap_index.xml.gz 1 sitemaps / 231 Bytes
Sitemap stats: 254 links / 1 sitemaps / 0m06s
到目前为止一切顺利 - 但是,当尝试访问我的站点地图时https://myapp.com/sitemap1.xml.gz
,我收到 404 错误。我尝试了以下方法来解决这个问题,但都没有奏效:
- 调用
git add
两个本地生成的 xml 文件,将它们推送到 Heroku,然后调用heroku run rake sitemap:refresh --app myapp-prod
以使用我的生产 URL 更新本地生成的 URL。但是文件没有被刷新,它与本地生成的文件完全相同,即使返回与上面相同的消息。 - 将站点地图生成为自定义路径,例如 public/shared/。但是访问时错误仍然存在
https://myapp.com/shared/sitemap1.xml.gz
。 - 所有可能的和不可能的 URL 组合,例如
https://myapp.com/public/sitemap1.xml.gz
(当然,这永远不会起作用,但想不遗余力)
关于什么可能导致这种行为以及站点地图可能存储在哪里的任何想法?