Heroku 301重定向

我怎么做到这一点http://domain.com 301重定向到http://www.domain.com ? 我习惯使用.htaccess来ModRewrite它,但我知道我不能在Heroku上做到这一点。

.htaccess的示例:

Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_HOST} ^domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] 

我的文件结构:

 - /public --- /style --- index.html - config.ru 

我只是提供单页,我的config.ru包括:

 use Rack::Static, :urls => ["/style"], :root => "public" run lambda { |env| [ 200, { 'Content-Type' => 'text/html', 'Cache-Control' => 'public, max-age=86400' }, File.open('public/index.html', File::RDONLY) ] } 

使用rack_rewrite(Gemfile中的gem’port-rewrite’)并在initializers目录中创建一个rack_rewrite.rb;

 YourAppName::Application.config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do r301 %r{.*}, 'http://www.yourdomainname.com$&', :if => Proc.new {|rack_env| rack_env['SERVER_NAME'] != 'www.yourdomainname.com' } end if Rails.env == 'production' 

这就是说,如果请求的服务器名称不是www.yourdomainname.com,那么将其重定向到www.yourdomainname.com

您必须添加新的免费自定义域 。