web.py:一个urlencoded斜杠到args

时间:2016-10-24 12:24:05

标签: python mod-wsgi web.py

进入我的web.py python界面,我定义了一些URL:

urls = (
  '/publication/(.*)', 'PublicationStats',
  '/author/(.*)', 'AuthorStats',
  '/department/(.*)', 'DepartmentStats',
)

我的部门名称始终包含斜杠:

SST/IMNC - department_name1
SSH/FLTR - department_name2
...

当我尝试调用部门网址时,我认为如果我对斜杠(%2F)进行编码,则一切正常...但我的网址似乎在网址管理之前解码:(

如果我使用http://localhost/my_api/department/SST%2FIMNC%20-%20department_name1。服务器结果为:404-Not Found : The requested URL /api/stats/author/SST/IMNC was not found on this server.

不知道如何解决我的问题? Apache的特殊配置?到mod_wsgi,进入我的web.py应用程序?

向你求助。

1 个答案:

答案 0 :(得分:0)

找到解决方案!

在Apache配置中,我需要将 -> Opaque: 43 nodes in 6 batches... -> Alpha: 29 nodes in 8 batches... 指令添加到AllowEncodedSlashes值。见https://httpd.apache.org/docs/2.2/fr/mod/core.html#allowencodedslashes