2008-10-24 75 views
7

在最新版本的路线(1.10)中,使斜线后移的最佳方法是什么?我目前正在使用显然非干:后桥斜线

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

我认为,在打开最小化会做的伎俩,但我的印象是,它在路线是有原因的新版本禁用。不幸的是,文件似乎没有赶上路线发展,所以我找不到任何好的资源去。有任何想法吗?

+0

什么是你的网络服务器? – jonnii 2008-10-24 20:54:10

回答

7

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

  1. Do it entirely in pylons
  2. Add an htaccess rule to rewrite the trailing slash

我个人不喜欢的斜线,因为如果你有一个像URI:

http://example.com/people

您应该能够通过将得到XML格式相同的数据:

http://example.com/people.xml

+2

容易猜测的URL很好,所以应该允许人们去/ people和/ people /看同样的东西。规范的URL也很好,所以其中一个应该重定向到另一个。 – 2009-09-17 20:17:33

2

http://www.siafoo.net/snippet/275具有中间件的一个基本件,它去除请求结尾的斜线。聪明的想法,在我意识到这是什么之后,我更好地理解了WSGI应用程序中的中间件概念。

16

下面的代码片段添加的最后路线为我工作:

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

我90%确定我在网上的某个地方找到了它,但目前我无法提供适当的归因。 – 2009-09-17 20:20:08