Lokkaで /article.php?id=数字 なURLへのアクセスをリダイレクトできました。
SinatraではURLの ? 以降のクエリストリングは request.query_string というオブジェクトの中に入るらしい。そういうわけなので次のようなコードでリダイレクト処理してます。
module Lokka
module RedirectArticles
def self.registered(app)
app.get %r{/article.php} do
unless request.query_string.empty?
/id=(d+)?/ =~ request.query_string
redirect "/#{$1}", 301
end
end
end
end
endSinatra、Lokka越しで初めて本格的に利用させもらってますけど便利ですね。