diff --git a/config/routes.rb b/config/routes.rb index 540f3d0af..2db1a6abf 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -405,7 +405,7 @@ Rails.application.routes.draw do match 'uploads', :to => 'attachments#upload', :via => :post - get 'robots', :to => 'welcome#robots' + get 'robots.:format', :to => 'welcome#robots', :constraints => {format: 'txt'} Redmine::Plugin.directory.glob("*/config/routes.rb").sort.each do |plugin_routes_path| instance_eval(plugin_routes_path.read, plugin_routes_path.to_s) diff --git a/test/integration/welcome_test.rb b/test/integration/welcome_test.rb index d1b0c8889..31fd57fcd 100644 --- a/test/integration/welcome_test.rb +++ b/test/integration/welcome_test.rb @@ -54,4 +54,11 @@ class WelcomeTest < Redmine::IntegrationTest assert @response.body.match(%r{^Disallow: /\r?$}) end end + + def test_robots_should_not_respond_to_unsupported_formats + %w(robots.json robots).each do |file| + get "/#{file}" + assert_response :not_found + end + end end