web.py : args 中的 urlencoded 斜杠
web.py : an urlencoded slash into args
进入我的 web.py
python 界面,我定义了一些 URL :
urls = (
'/publication/(.*)', 'PublicationStats',
'/author/(.*)', 'AuthorStats',
'/department/(.*)', 'DepartmentStats',
)
我的部门名称总是包含斜杠:
SST/IMNC - department_name1
SSH/FLTR - department_name2
...
当我尝试呼叫部门 url 时,我认为如果我对斜杠 (%2F
) 进行编码,一切都应该可以正常工作...但是我的 URL 似乎在 URL 管理层:(
如果我用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 应用程序?
感谢您的帮助。
已找到解决方案!
进入 Apache 配置,我需要将 AllowEncodedSlashes
指令添加到 NoDecode
值。参见 https://httpd.apache.org/docs/2.2/fr/mod/core.html#allowencodedslashes
进入我的 web.py
python 界面,我定义了一些 URL :
urls = (
'/publication/(.*)', 'PublicationStats',
'/author/(.*)', 'AuthorStats',
'/department/(.*)', 'DepartmentStats',
)
我的部门名称总是包含斜杠:
SST/IMNC - department_name1
SSH/FLTR - department_name2
...
当我尝试呼叫部门 url 时,我认为如果我对斜杠 (%2F
) 进行编码,一切都应该可以正常工作...但是我的 URL 似乎在 URL 管理层:(
如果我用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 应用程序?
感谢您的帮助。
已找到解决方案!
进入 Apache 配置,我需要将 AllowEncodedSlashes
指令添加到 NoDecode
值。参见 https://httpd.apache.org/docs/2.2/fr/mod/core.html#allowencodedslashes