7

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

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

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

4

3 に答える 3

16

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

map.redirect('/*(url)/', '/{url}',
             _redirect_code='301 Moved Permanently')
于 2009-09-17T20:19:09.237 に答える
7

これを解決するには、次の2つの方法があります。

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

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

http://example.com/people

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

http://example.com/people.xml

于 2008-10-24T20:58:16.100 に答える
2

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

于 2009-06-10T13:19:46.337 に答える