diff --git a/Gemfile b/Gemfile index 4b68b0481..54cc06d73 100644 --- a/Gemfile +++ b/Gemfile @@ -31,6 +31,7 @@ gem "rpm_contrib", "~> 2.1.7" group :production do # we don't install these on travis to speed up test runs gem 'rack-ssl', :require => 'rack/ssl' + gem 'rack-rewrite', '~> 1.2.1', :require => false gem 'rack-google-analytics', :require => 'rack/google-analytics' gem 'rack-piwik', :require => 'rack/piwik' end diff --git a/Gemfile.lock b/Gemfile.lock index ae8305078..dd8acdc6c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -298,6 +298,7 @@ GEM rack-mount (0.6.14) rack (>= 1.0.0) rack-piwik (0.1.2) + rack-rewrite (1.2.1) rack-ssl (1.3.2) rack rack-test (0.5.7) @@ -487,6 +488,7 @@ DEPENDENCIES pg rack-google-analytics rack-piwik + rack-rewrite (~> 1.2.1) rack-ssl rails (= 3.0.11) rails-i18n diff --git a/config/application.yml.example b/config/application.yml.example index 091ec031f..bf4a7536e 100644 --- a/config/application.yml.example +++ b/config/application.yml.example @@ -180,6 +180,8 @@ defaults: &defaults # with other pods circumvent_ssl_requirement: false + image_redirect_url: '' + # Web tracking # google analytics key - if false, no javascript included diff --git a/config/initializers/set_up_image_redirects.rb b/config/initializers/set_up_image_redirects.rb new file mode 100644 index 000000000..9f36bbfa3 --- /dev/null +++ b/config/initializers/set_up_image_redirects.rb @@ -0,0 +1,7 @@ +if AppConfig[:image_redirect_url].present? + require 'rack-rewrite' + + Rails.application.config.middleware.insert(0, Rack::Rewrite) do + r301 %r{/uploads/images/(.*)}, "#{AppConfig[:image_redirect_url]}/uploads/images/$1" + end +end \ No newline at end of file