为什么共享主机上的Django web应用的GET url和POST url的处理方式不同

2024-06-01 13:17:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在A2hosting上有一个django web应用程序,在那里我使用.htaccess文件和乘客_wsgi.py公司。上次我摸它的时候它还可以用,但是后来有人看了之后告诉我它坏了。你知道吗

我创建了一个测试环境来发现问题,这里是它的要点。你知道吗

当我执行GET(到www.geo4ce.com/quiz/test_weird/)时,它会转到一个具有简单表单的页面,该表单只有一个输入、一个提交和一个包含“/quiz/test_weird/”和method="post"的操作。当我提交表单时,服务器希望url的“测验”部分引用文件服务器上的路径,找不到它,然后记录一个找不到它的错误。但是,它会检查url的test部分与我的django网址.py文件,为该文件找到一个不同的视图并显示它。你知道吗

一个几乎可以正常工作的场景是www.geo4ce.com/quiz/test_hacked/,它有相同的设置,只是表单有action=“/anythinghere/quiz/test_hacked/”。在本例中,url的“anythinghere”部分记录了一个错误,因为它在文件服务器上不存在,然后url的/quiz/test_hacked/部分正常工作以返回到原始网页。你知道吗

有人知道我该如何修复或调试这个吗?你知道吗

[编辑] 我不认为是因为.htaccess文件。看起来像这样。你知道吗

PassengerEnabled On
PassengerAppRoot /path/to/app/folder/

# Prevent Apache from serving .htaccess files:
<FilesMatch "^\.htaccess">
    Order allow,deny
    Deny from all
</FilesMatch>


deny from xxx.yyy.zzz

Tags: 文件djangofrompytest服务器comurl