Pylons Routes中的尾随斜杠

wxs*_*wxs 7 python pylons routes

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

map.connect('/logs/', controller='logs', action='logs')
map.connect('/logs', controller='logs', action='logs')
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*nas 16

以下代码片段作为最后一条路线添加为我工作:

map.redirect('/*(url)/', '/{url}',
             _redirect_code='301 Moved Permanently')
Run Code Online (Sandbox Code Playgroud)


jon*_*nii 7

有两种方法可以解决这个问题:

  1. 完全用挂架做.
  2. 添加htaccess规则以重写尾部斜杠.

我个人不喜欢尾随斜线,因为如果你有一个uri喜欢:

http://example.com/people

您应该能够以xml格式获取相同的数据,方法是:

http://example.com/people.xml

  • 容易猜到的网址很好,因此人们应该被允许去/人和/人/看到同样的事情.规范URL也很好,因此其中一个应该重定向到另一个. (2认同)