0

我刚刚在使用 Apache 和 mod_wsgi 的生产环境中设置了我的 django。一切似乎都很好。我已授予对静态文件夹(用于管理资源)的访问权限,并且服务器正在按预期工作。

尝试通过 Django 查看与 URL 不匹配的网页时似乎有一件奇怪的事情。当达到这个明显的 404 时(我暂时打开了调试)。

这个问题源于我希望禁用静态文件夹中的目录列表。

我添加了 Options -Indexes 参数,它似乎有效。

唯一的问题是 apache 重写引擎似乎在找不到资源(或资源是文件夹)时将 404.shtml 附加到 URL。但是 append 并不是一个正确的词。相反,它将请求 URL 的最后 9 个字符替换为 404.shtml。然后我的 Django 404 调试屏幕出现,我的原始请求有一个无意义的版本。

这是一个例子:

请求网址:http: //mobile.mywebsite.com/static/unknown_file

Django 收到:

找不到页面 (404) 请求方法:GET 请求 URL:http: //mobile.mywebsite.com/static/un/404.shtml

但是,如果我请求 http://mobile.mywebsite.com/static/404.shtml

然后它被相同的文本覆盖,所以http://mobile.mywebsite.com/static/404.shtml出现了,显然没有改变。

有任何想法吗?

4

1 回答 1

0

听起来您在 apache 配置中定义了自定义 http 文档,例如:

ErrorDocument 404 /un/404.shtml 
于 2012-04-25T21:17:30.000 回答