访问项目目录时 Django 永久 404s URL

Django perpetual 404s when visiting project directory URL

我对 Django 和 OLS 有一个非常奇怪的问题。我在 Digital Ocean 上使用 OpenLitespeed Django 一键安装 droplet。在我的自定义应用程序和 Droplet 中的示例应用程序中,如果我访问与 django 项目目录匹配的 URL(在示例应用程序中,这是 /demo/),那么任何后续页面访问都会出现 404 错误,无论您做什么 URL。为了重现,我已经启动了一个完全干净的 droplet 安装,然后执行以下步骤:

  1. 转到 / -> 按预期查看 "Hello world!"
  2. 转到 /demo/ -> 也可以看到 "Hello world!" 即使这应该是一个 404,因为这个 URL 没有在 urls.py 或其他任何地方指定
  3. 返回 / -> 404!它似乎在寻找 /demo/demo/ 不存在
  4. 尝试任何其他 URL 也会导致 404。

恢复正常行为的唯一方法是重新启动 OLS 进程。然后一切都按预期运行,除非访问了以项目目录名称开头的任何 URL,在这种情况下,整个事情崩溃并再次 returns 404s。

非常感谢可以提供的任何帮助来尝试进一步解决此问题或可能的修复!

版本: OLS 1.6.9 Django 2.2 和 3.0 Python3.6

感谢您的错误报告。这是 "virtual context settings for wsgi" 的错误,应该已经在 1.6.11 版中修复。如果它不在存储库中,您可以运行以下命令对其进行升级。

/usr/local/lsws/admin/misc/lsup.sh -v 1.6.11

最好的, 埃里克