状況
Carrierwave を使用して、画像をデフォルトの upload/ ディレクトリにアップロードします。正常に動作します。オンライン Web サーバーのフロント エンドで画像を表示したいのですが、画像が表示されません。
ローカル セットアップでアプリケーションを使用すると、画像が表示されます。
私のローカル サーバーと Web サーバーのセットアップの唯一の違いは、私のサーバーではアプリケーションが "/app" というサブディレクトリで実行されることです。ローカルでは、ルート ディレクトリにあります。
私がこれまでに持っているもの
.htaccess にこの Redirect コマンドがあります。
Redirect 301 /uploads/model/image/54/image.jpg /app/uploads/model/image/54/imgage.jpg
パス「/uploads/model/image/」を持つすべての画像が見つかり、「/app/uploads/model/image/」にリダイレクトされるように、そこから一般的な RewriteRule を作成したいと考えています。
どうやってやるの?次のようないくつかの RewriteRules を試しました。
RedirectMatch 301 /uploads/(.*) /app/uploads/
また:
Redirect 301 /uploads/model/image/(.*) /app/uploads/model/image//$1
また:
RewriteRule ^.*/app/uploads/(.*)$ http://%{HTTP_HOST}/uploads/$1 [L,R=301]
これまでに読んだもの
Stackoverflow でこれらのエントリを読みました。
- htaccessを使用して画像パスを変更するには?
- Mod_Rewrite を使用して ROOT を別のパスに書き換える
- ルート URL をサブディレクトリにリダイレクトする .htaccess 書き換え
なぜこれが起こるのか、それから私を助けることができるヒント、ヒント、またはリンクを得ることができてとてもうれしいです.