Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ApacheDjangoURL问题_Django_Apache_Url - Fatal编程技术网

ApacheDjangoURL问题

ApacheDjangoURL问题,django,apache,url,Django,Apache,Url,我允许用户在mysite.com/go/query上提交查询\ 如果查询包含/Apache choke 从URL.py: (r'^go/(?P<querytext>.*)$', 'mysite.engine.views.go'), 结果: Not Found The requested URL /go/http:// was not found on this server. Apache/2.2.12 (Ubuntu) Server at ... 但是,如果我输入非URL引用

我允许用户在mysite.com/go/query上提交查询\

如果查询包含/Apache choke

从URL.py:

(r'^go/(?P<querytext>.*)$', 'mysite.engine.views.go'),
结果:

Not Found

The requested URL /go/http:// was not found on this server.
Apache/2.2.12 (Ubuntu) Server at ...
但是,如果我输入非URL引用值,它会起作用: http://mysite.com/go/http:// 很好用


有什么想法吗?

来自Django文档,看起来你应该只使用?p。。。。实现命名组时的符号


尝试通过删除?p或完成语法并将组命名为?p.*

来修复正则表达式。在传递URL之前,您可能需要对其进行解码。您可以使用urllib.unquote执行此操作


您的httpd正在阻止编码的斜杠


尝试将AllowEncodeDSLASH添加到apache配置中

对不起,HTML删除了它,我对它进行了编辑,以显示我在url.py中真正拥有的内容。正如你所指出的,不错!我甚至没有想到Apache是罪魁祸首。谢谢,我遇到了同样的问题。我怀疑Apache是原因,但我不知道有明确的设置。
Not Found

The requested URL /go/http:// was not found on this server.
Apache/2.2.12 (Ubuntu) Server at ...
>>> import urllib
>>> urllib.unquote("""http%3A%2F%2F""")
'http://'