0

なぜこれが機能するのか誰にも教えてもらえますか:

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
4

1 に答える 1

0

最終的な答え。

2番目のリダイレクトを別の使用Rack::rewriteに分割し、問題を修正しました

于 2014-02-05T17:38:31.057 に答える