为什么我看到的是 apache 的 404 而不是 Django 自定义的 404?

为什么我看到的是 apache 的 404 而不是 Django 自定义的 404?

我在本地 django 运行服务器上创建了一个自定义templates/404.html,这没有问题。但是在生产中,apache这个自定义404.html不再显示(即使有DEBUG=False)。

我只得到一个空白页

Not Found

The requested URL /blahblah was not found on this server.

我不相信这甚至不是 django 的默认设置,而是与 apache 有关的东西。

我如何告诉 apache 让 django 处理 404 错误?

答案1

毕竟我只是忘了在生产服务器上设置模板所需的权限(我mod_wsgi以“djangoUser”身份在守护进程模式下运行),所以我需要

dr-x------  djangoUser djangoUser  templates
dr-------   djangoUser djangoUser  templates/404.html

哦哦。

答案2

你必须在 Django 应用中启用 error404 处理程序(请参阅https://stackoverflow.com/questions/17662928/django-creating-a-custom-500-404-error-page) 以获取有关如何执行此操作的更多信息。

相关内容