2

私の画像はすべてアプリ自体に保持されていたため、完全な URL の有無にかかわらず、いくつかの場所で cms のコンテンツにハードコードされている /images/12345.jpg で参照されていました。

画像は s3 に移動されたので、/images/12345.jpg|png|gif またはhttp://www.example.com/images/12345の形式の URL のリダイレクトを追加したいと考えてい ます。 jpg|png|gif (ただし、数字のファイル名のみ)

そしてそれらを指す

http://my.images.images.s3.amazonaws.com/540x310/12345.jpg|png|gif

私は現在持っています

use Rack::Rewrite do
rewrite %r{images\/(\d*.)(jpe?g|png|gif)$}, 'http://my.images.images.s3.amazonaws.com/540x310/$1$2'
end

しかし、これはあまり正しくないようです。

更新 ------ もちろん、ソースの URL は変更されません。リンクを直接クリックすると、エラーが返されます。

一致するルートはありません [GET] "/ http://my.images.images.s3.amazonaws.com/540x310/13135.jpeg "

(先頭のスラッシュに注意してください)

したがって、書き換えは機能していますが、外部 URL ではなく内部リンクにルーティングする必要があると考えられます。

UPDATE2------に変更

r302 %r{(?:images\/)(\d*.jpe?g|png|gif)$}, "http://my.images.images.s3.amazonaws.com/540x310/$1"

http://www.example.com/images/13135.jpegにアクセスするとリダイレクトされるようになりました

サイト自体の画像をレンダリングしていません。

4

1 に答える 1