Хотя ответ Джона в порядке, если вы используете Rails> = 2.3, я бы предложил создать новый Metal. Rails Metals более эффективны и обеспечивают лучшую производительность.
$ ruby script/generate metal NotWwwToWww
Затем откройте файл и вставьте следующий код.
# Allow the metal piece to run in isolation
require(File.dirname(__FILE__) + "/../../config/environment") unless defined?(Rails)
class NotWwwToWww
def self.call(env)
if env["HTTP_HOST"] != 'www.example.org'
[301, {"Content-Type" => "text/html", "Location" => "www.#{env["HTTP_HOST"]}"}, ["Redirecting..."]]
else
[404, {"Content-Type" => "text/html"}, ["Not Found"]]
end
end
end
Конечно, вы можете дополнительно настроить Металл.
Если вы хотите использовать Apache, вот несколько конфигураций .