これは、他の Rails 3 リダイレクト https に関する質問とは少し異なります。説明させてください。
Phusion Passenger でサイトを公開するには、サブドメインを作成し、www/rails
フォルダーから へのシンボリック リンク (またはソフトリンクまたはエイリアス) を使用する必要がありました/home/user/app/railsapp
。
HTTPS を機能させるには (さまざまなドメインの問題のため)、このルートを実際に作成する書き換え mod が必要です。
https://my.site.com/rails
末尾の/railsルートに注意してください。
このルートはアプリには存在しません。だから私が必要としているのは、そのルートで入ってくるものを次のようにリダイレクトする方法です:
https://my.site.com/login
だから私はこれをやろうと思った、routes.rb
ファイルにはこれがある:
match '/rails' => 'sessions#redirect_to_login'
sessions_controllers.rb では:
def redirect_to_login
redirect_to login_path, :status => :moved_permanently
end
これにより、アプリは見つからないという不平を言う/rais/login/
ので、まだその/rails
ビットを探しています。
ログインしていないときにリダイレクトredirect_to "/"
を送信するようなものを追加すると、ブラウザにリダイレクトが多すぎるというエラーが表示されます。my.site.com/login
redirect_to login_url
トリックもしなかった。
/rails
そのサイトで https プロトコルを使用している場合は常にそのルートが追加されるため、すべてのリンクからそれを削除する方法が必要になるという意味で、少し複雑になります。たとえば、https://my.site.com/movies
は に変換されhttps://my.site.com/rails/movies
ます。
を削除する/rails
か、ログイン ページ以外のすべての https トラフィックを http にリダイレクトします。
これには比較的簡単な修正があると確信していますが、それを理解することはできません。
助けていただければ幸いです。