これを行う方法:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
ラック書き換え構文で?
これを行う方法:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
ラック書き換え構文で?
このための新しいミドルウェアを作成できます
class SubdomainToWwwMiddleware
def initialize(app)
@app = app
end
def call(env)
request = Rack::Request.new(env)
if !request.host.starts_with?("www.")
[301, { "Location" => request.url.gsub(/\/\/([^\.]*)/, "//www") }, self]
else
@app.call(env)
end
end
end
これはテストされていませんが、正しい方向に進むはずです。www.example.com
だけでなく もチェックする条件を追加したいと思うでしょうexample.com
。その場合、上記のミドルウェアは現在爆発する可能性があります。
あなたはこれを入れて/lib/middleware/subdomain_to_www_middleware.rb
、追加することができます
config.autoload_paths += %W( #{ config.root }/lib/middleware )
あなたconfig/application.config
に、そして
config.middleware.use "SubdomainToWwwMiddleware"
あなたにconfig/environments/production.rb