1

我有一个在 Dreamhost 上使用 Django 构建的网站,该网站使用Passenger 和 Apache 成功部署。我有一组静态 HTML 页面,它们在一个名为/demo/. 通过使用此行将.htaccess文件添加到目录:/demo/

PassengerEnabled off

我能够绕过 Django 并提供/demo/目录中的静态页面。我想在/demo/不编辑 Django python 文件的情况下为页面添加密码保护,但无法通过在文件中添加以下行来做到这一点.htaccess(行上方和下方PassengerEnabled off

AuthUserFile /public/demo/.htpasswd
AuthGroupFile /dev/null
AuthName "Private Demo Area"
AuthType Basic
require valid-user

我没有被迫使用.htaccess文件方法,并且想知道如何将静态文件目录配置为不被 Django 处理但也受密码保护?谢谢!

4

1 回答 1

1

我找到了一个解决方案,它涉及创建子域,而不是尝试通过重新映射的子目录通过 Django 和Passenger 提供静态文件。这是我所做的:

  • 在 Dreamhost Web 面板中创建子域 demo.domain.com
  • 将 .htaccess 文件添加到子域的根目录:

    AuthUserFile /public/demo/.htpasswd AuthGroupFile /dev/null AuthName "Private Demo Area" AuthType Basic 需要有效用户

这成功了,但我的演示域现在demo.domain.comdomain.com/demo/. 我可以接受这种权衡,这是我在 Dreamhost 共享主机上能找到的唯一解决方案。

于 2012-05-12T19:06:33.173 回答