2013-12-13 38 views
1

我正在嘗試重定向到www。只有當另一個子域不存在時。Ruby on Rails重定向到www。僅在沒有子域存在的情況下

如果URL example.com那麼我想重定向到www.example.com

如果URL blog.example.com然後我不想重定向。

我已經試過這個,但它添加www。即使已經存在另一個子域名,也可以訪問每個網址。

constraints(host: /^(?!www\.)/i) do 
    get '' => redirect { |params, request| 
    URI.parse(request.url).tap { |uri| uri.host = "www.#{uri.host}" }.to_s 
    } 
end 

我想我需要檢查subdomain.present?的地方,但不知道在哪裏。

任何想法?

回答

1

這是我工作的。儘管如此,可能還有更好的辦法。

constraints(subdomain: '') do 
    constraints(host: /^(?!www\.)/i) do 
     get '' => redirect { |params, request| 
     URI.parse(request.url).tap { |uri| uri.host = "www.#{uri.host}" }.to_s 
     } 
    end 
    end 
+0

所以你也可以接受你自己的答案。 –

+0

噢!完全忘了,但我得等兩天 –

相關問題