Sinatra で URL を書き換える方法

概要

この種のリクエストをすべてリダイレクトしたい

 http://www.example.com/2013/01/my-sample-post/feed
 or 
 http://www.example.com/2013/01/my-sample-post/feed/

 http://www.example.com/2013/01/my-sample-post/

私はsinatraとrack-rewrite gemを使用しています。

  rewrite %r{/*/feed?}, '/$1'  // not working..

解決策

これは機能するはずです:正規表現のドットが抜けています。ワイルドカードを () で囲んだキャプチャ グループも必要です。そのため、スラッシュの間には (.*) を付ける必要があります。最後のスラッシュも抜けていると思います。

rewrite %r{/(.*)/feed/?}, '/$1'