2008-10-24 50 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