私のホームページ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/おかげで前の
こんにちは、 ありがとうございました。私はこの書き換えを使用し、仕事をしません。私のアプリケーションはThin。私は、この種の構成はレール・フレームワークのレベルでなければならないと考えています。たとえば、ユーザーがsing_upリンクをクリックすると、レールはSSL接続を強制し、www.my-domain.comを使用してURLを構築するためです。いくつかのアイデアはありますか? ありがとう – Emygdio
申し訳ありませんが、私は '^(www)(my-domain ...')にwwwの後にドットを入れてしまいましたので、うまく動作しませんでした( 'wwwmy-domain'を' – devsnd
また、私はあなたのフレームワークでこの問題を解決するべきではないと思っています:そうであれば、そうしなければならないでしょう。この書き換えルールとまったく同じことをします:httpsで暗号化された接続であるかどうかを調べ、そうでない場合はhttp://my-domain.comにリダイレクトします – devsnd