我正在使用 Rack Canonical Host 中间件( https://github.com/tylerhunt/rack-canonical-host )与 Rails 一起,用于强制在所有根请求中添加 www 前缀(例如,example.com 变成 www.example.com)。但是,如果访问者试图访问我们应用程序的有效子域名,则显然不需要强制添加 www。以下是中间件的示例用法:
Rails.application.config.middleware.use Rack::CanonicalHost do
# the following return value will be used to set the canonical host
'www.example.com'
end
如您所见,它有些静态,这是一个问题。但是,如果我可以访问请求参数(例如子域、域等),我可以根据它们进行检查并相应地重定向(仅在需要时)。
有人有任何指针吗?