我需要能够将非 www 重写为 www 但不是在存在(非 www)子域的情况下。
所以 example.com 到-> www.example.com 但 sub.example.com 仍然是 sub.example.com
我在 rails 3 中,这似乎应该使用 Rack Middleware 来完成,但问题是这是一个多租户应用程序,因此 TLD 可能是任何域。
这是我到目前为止的位置:
Class Www
def initialize(app)
@app = app
end
def call(env)
request = Rack::Request.new(env)
if !request.host.starts_with?("www.")
[301, {"Location" => request.url.sub("//","//www.")}, self]
else
@app.call(env)
end
end
def each(&block)
end
end
任何指针将不胜感激....