下午试了一下在存在prefix的情况下,稍微调整了一下routing.py中的mapper,结果有些失望。我采用了最简单的方式来测试,routing.py加入:

map.connect(':controller/:action/:id')
map.connect('', controller='hello', action='index')
map.connect('date/:year/:month/:day',controller='hello',action='showdate')

好像map有优先级,排在前面的优先解析。在HelloController()中加入action=showdate,

def showdate(self,year,month,day):
    m.write('date:'+year+'.'+month+'.'+day)

结果我使用http://localhost/pyapp/date/2006/03/28,访问不到。我把涉及到/pyapp的地方都去掉之后,则是正常。看来url prefix会造成比较大的麻烦。

updated(06.04.03):这个问题已经解决了,要更新一下routes>=194。thanks,Ben and OneZ。