なぜこれが機能するのか誰にも教えてもらえますか:
r301 %r{(?:images\/)(\d*.jpe?g|png|gif)$}, 'http://mybucket.s3.amazonaws.com/540x310/$1'
URI = http://www.mysite.com/images/42720.jpeg
そして、これはしません
r301 %r{(?:resized_images\/\d*x\d*\/)(\d*.jpe?g|png|gif)$}, 'http://mybucket.s3.amazonaws.com/540x310/$1'
URI = http://www.mysite.com/resized_images/560x344/77664.jpeg
どちらも Rubular で動作します。
http://rubular.com/r/PXHiEcoEqy
http://rubular.com/r/BfOta6YJa7
前もって感謝します
- - - - - アップデート - - - - - - -
これは、ラック書き換えの使用方法に関する問題です。
書き換えは、2 つの 301 クエリ文字列では機能しません。
最初の行をコメントアウトすると、2 番目の行が機能し、その逆も同様です。
両方を機能させる方法はありますか。
use Rack::Rewrite do
r301 %r{(?:images\/)(\d*.jpe?g|png|gif|bmp)$}, 'http://mybucket.s3.amazonaws.com/540x310/$1'
r301 %r{(?:resized_images\/\d*x\d*\/)(\d*.jpe?g|png|gif|bmp)$}, 'http://mybucket.s3.amazonaws.com/540x310/$1'
end