Rails /sitemap.xml重定向到root

时间:2015-08-13 15:09:26

标签: ruby-on-rails ruby sitemap

我正在使用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

1 个答案:

答案 0 :(得分:1)

/ 添加到public/sitemaps...

的开头后

问题解决了

render file: '/public/sitemaps/sitemap.xml