我使用在127.0.0.1:8000上运行的默认方法(python web2py.py
)测试我的web2py服务器,并在我的routes.py文件中测试
routes_in=(
(r'.*/favicon.ico',r'/myapp/static/images/favicon.ico'),
)
当我转到http://127.0.0.1:8000/myapp/static/images/favicon.ico
时,我可以看到图标,但是当我转到http://127.0.0.1:8000/favicon.ico
时,我仍然无法看到。我究竟做错了什么?我尝试过匹配r'。*:/ favicon.ico'和其他各种组合,FWIW。
编辑:routes.py文件也有
行routers = dict(BASE=dict(default_application='myapp',),)
在文件的早期,这似乎导致了问题。
答案 0 :(得分:2)
如前所述here,您无法混合基于参数和基于模式的重写系统。 routers
中routes.py
字典的存在会触发基于参数的系统的使用,因此routes_in
将被忽略,因为它仅与基于模式的系统相关。
如果您想在routers
中使用基于参数的系统,请指定default_application
,并将favicon.ico
文件放入默认应用程序{{1}文件夹。