7

在最新版本的 Routes (1.10) 中使尾部斜杠无关紧要的最佳方法是什么?我目前正在使用明显非 DRY:

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

我认为打开最小化可以解决问题,但我的印象是它在较新版本的 Routes 中被禁用是有原因的。不幸的是,文档似乎没有跟上 Routes 的开发,所以我找不到任何好的资源。有任何想法吗?

4

3 回答 3

16

作为最后一条路线添加的以下片段对我有用:

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

有两种可能的方法来解决这个问题:

  1. 完全在 pylons 中完成
  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 回答