質問

最新バージョンのRoutes(1.10)で、末尾のスラッシュを問題にしない最良の方法は何ですか?私は現在、明らかに非ドライを使用しています:

map.connect('/logs/', controller='logs', action='logs')
map.connect('/logs', controller='logs', action='logs')

最小化を有効にするとうまくいくと思いますが、新しいバージョンのRoutesでは無効化されたという印象を受けています。残念ながら、ドキュメントはRoutesの開発に追いついていないようです。そのため、適切なリソースを見つけることができません。アイデアはありますか?

解決

これを解決する方法は2つあります:

  1. 完全にパイロンで行う
  2. htaccessルールを追加して、末尾のスラッシュを書き換えます

個人的には、末尾のスラッシュが好きではありません。なぜなら、次のようなURIがある場合です。

http://example.com/people

次の場所に移動すると、xml形式で同じデータを取得できるはずです。

http://example.com/people.xml

他のヒント

最後のルートとして機能した次のスニペットが追加されました:

map.redirect('/*(url)/', '/{url}',
             _redirect_code='301 Moved Permanently')

http://www.siafoo.net/snippet/275 には基本的な部分がありますリクエストから末尾のスラッシュを削除するミドルウェア。賢いアイデアであり、WSGIアプリケーションのミドルウェアの概念は、これが何をするのかを理解した後、はるかによく理解しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow