我正在使用dynamic_sitemaps gem来生成generatig sitemap。 https://github.com/lassebunk/dynamic_sitemaps
在本地,当我尝试访问localhost / sitemap.xml时,它会显示站点地图文件。
当我在vps上进行生产尝试时,它不起作用,只是将我重定向到root_path。
如果我cd到public / sitemaps /我可以看到sitemap.xml(它存在)。
这里有什么问题?
这是我的 routes.rb
Rails.application.routes.draw do
.....
get 'sitemap' => 'home#sitemap', format: :xml
get 'robots' => 'home#robots', format: :text#, defaults: { format: :text }
get '*path', to: 'application#handle_404'
end
我已尝试删除format: :xml
,但无效
/robots.txt工作正常。
这是我的家庭控制器的站点地图方法
def sitemap
respond_to do |format|
format.xml { render file: 'public/sitemaps/sitemap.xml' }
format.html { redirect_to root_url }
end
end
应用程序控制器中的handle_404
def handle_404
redirect_to root_path
end
答案 0 :(得分:1)
public/sitemaps...
的开头后问题解决了
render file: '/public/sitemaps/sitemap.xml