2012-03-22 12 views
0

私のホームページURLは、my-domain.comのようにwwwなしでcdnに応答する必要があります。私は以下のようにdefault_urlをオーバーライドしようとしました:wwwの文字列を含まないURLの変換要求

def default_url_options 
    if Rails.env.production? 
     {:host => "cdn.com"} 
    else 
     {} 
    end 
end 

しかし、この解決策はSSL接続では機能しません。

RewriteCond %{HTTP_HOST} ^(my-domain\.com)(:443)? [NC] 
RewriteRule ^(.*) https://my-domain/$1 [R=301,L] 
order deny,allow 

しかし、私はURLを要求した場合::私の.htaccessでは、私はこれを試してみましたhttps://www.my-domain.com/を、ブラウザがまだWWWと同じURLを呼び出します。 問題は、ssl certificatedがmy-domain.comにwww文字列が有効でないことです。このようなURLを要求すると、https://www.my-domain.com/がChromeに通知され、sslが無効であることが通知されます。私はすべての要求を変換するためにレールのアプリケーションでいくつかの方法が必要になります。https://www.my-domain.com/おかげで前の

答えて

0

あなたは、これは別のトークンがあるか

RewriteCond %{HTTP_HOST} ^(www\.)?(my-domain\.com)(:443)? [NC] 
RewriteRule ^(.*) https://my-domain/$1 [R=301,L] 
order deny,allow 

予告.htaccessファイル試してみてください、(www)?

https://my-domain.com/に?あなたのドメイン名がwwwの前にあるかどうかにかかわらず、ドメイン名と一致します。

+0

こんにちは、 ありがとうございました。私はこの書き換えを使用し、仕事をしません。私のアプリケーションはThin。私は、この種の構成はレール・フレームワークのレベルでなければならないと考えています。たとえば、ユーザーがsing_upリンクをクリックすると、レールはSSL接続を強制し、www.my-domain.comを使用してURLを構築するためです。いくつかのアイデアはありますか? ありがとう – Emygdio

+0

申し訳ありませんが、私は '^(www)(my-domain ...')にwwwの後にドットを入れてしまいましたので、うまく動作しませんでした( 'wwwmy-domain'を' – devsnd

+0

また、私はあなたのフレームワークでこの問題を解決するべきではないと思っています:そうであれば、そうしなければならないでしょう。この書き換えルールとまったく同じことをします:httpsで暗号化された接続であるかどうかを調べ、そうでない場合はhttp://my-domain.comにリダイレクトします – devsnd

関連する問題