と で実行されている 2 つの別個のアプリケーションがwww.a.com
ありwww.b.com
ます。2 つ目は rails-3 アプリケーションです。Cookie を共有して 2 つの間で共通のログインを機能させるために、すべてのリクエストを にリダイレクトしwww.a.com/b
ていますwww.b.com
。これを実現するためにApacheリバースプロキシを使用しています:
ProxyPass /b/ http://www.b.com/
www.a.com
これは、すべてのアセット/javascript リンクがルートであると想定することによって形成されているという事実を除けば、うまく機能します。例えば:
<%= javascript_include_tag 'js/bootstrap-datepicker'%>
http://a.com/assets/js/bootstrap-datepicker.js
私はこれが欲しいのですが、リンクになりますhttp://a.com/b/assets/js/bootstrap-datepicker.js
私はこれを解決しています:
config.action_controller.asset_host = "http://a.com/analytics"
解決策が少しハックであることがわかりましたが、これはうまく機能します。本当の問題は、アプリケーションに他のページへのリンクを配置したときに始まります。という名前のページへのリンクを配置するには、hrefpage
を配置する必要があります。b/page
これは、a.com を使用してアプリケーションにアクセスしているときに正常に機能します。www.b.com/b/page
しかし、これでは b.com を使用してアプリにアクセスすることはできません。リンクが明らかに存在しないリンクを指し始めるからです。
a.com または b.com を使用してアプリケーションにアクセスできるようにするには、どうすれば全体を機能させることができるでしょうか。