共有ホストサーバーでレールアプリケーションを実行していて、public_html
が~/rails_apps/app1/public
にマップされています。 これは、www.mydomain.com
がapp1を起動するように行われました。予想通り、.htaccessファイルは、ここで新しいレールAPP2が来るこのレールアプリケーションが別のレールのパブリックフォルダ内にあるときに.htaccessを設定する方法は?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
のようなもので、私は~/rails_apps/app2
を作成しwww.mydomain.com/app2
を介してアクセスしたい、とpublic_html/app2
が指し示すシンボリックリンクを作成した(シンボリックリンクがあります実際には~/rails_apps/app1/public/app2
)。
このapp2も起動するためにdispatch.fcgiが必要です。そのため、app2/public/.htaccess
には上記と同じRewriteRulesがあります。
問題は、私がwww.mydomain.com/app2/hello
にアクセスすると、私の最初のapp1がリクエストを受信していて、失敗しているということです。私はこのルールを "File/app2/helloは存在せず、処理のためにdispatch.fcgiに送る"と読んでいます。
だから、私は
公共
RewriteCond %{REQUEST_URI} ^/app2/.*
RewriteRule ^(.*)$ /app2/dispatch.fcgi [L]
/APP1で追加のルールを設定しようとした私のApp2が今要求を取得しているが、それは私のルートで定義された
/app2
がないので失敗する
/app2/hello
を処理しようとします。ちょうど
/hello
を受け取る必要があります。
私も上記のパラグラフのルールの直前にRewriteBase /app2
を置いてみましたが、何の違いも見られませんでした。私もRewriteBase /
を元のapp1 RewriteRuleの前に置く必要がありました。それ以外の場合はapp1が壊れます。 (誠実に、複数のRewriteBaseが許可されているかどうかわかりません)
私の問題を解決する方法はありますか?
希望これは
を助けることができる