0

状況

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 でこれらのエントリを読みました。

なぜこれが起こるのか、それから私を助けることができるヒント、ヒント、またはリンクを得ることができてとてもうれしいです.

4

1 に答える 1

0

あなたは近くにいます。試す:

RedirectMatch 301 ^/uploads/(.*)$ /app/uploads/$1

また

RewriteRule ^/?uploads/(.*)$ /app/uploads/$1 [L,R=301]
于 2012-09-10T13:03:37.457 に答える