在Dreamhost上使用带有Django的.htaccess的PassengerEnabled Off和密码保护目录

时间:2012-05-05 16:52:12

标签: django .htaccess passenger dreamhost

我在Dreamhost上使用Django构建了一个使用Passenger和Apache成功部署的网站。我有一组静态HTML页面,这些页面在名为/demo/的重新映射的子目录中提供。通过以下行将.htaccess文件添加到/demo/目录:

PassengerEnabled off

我能够绕过Django并在/demo/目录中提供静态页面。我想在不编辑Django python文件的情况下为/demo/页面添加密码保护,但是无法通过在.htaccess文件中添加以下行({{1}的上方和下方行:

PassengerEnabled off

我没有被迫使用AuthUserFile /public/demo/.htpasswd AuthGroupFile /dev/null AuthName "Private Demo Area" AuthType Basic require valid-user 文件方法,并且想知道如何配置静态文件目录不被Django处理但是也受密码保护?谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

    AuthUserFile /public/demo/.htpasswd AuthGroupFile / dev / null AuthName“私人演示区” AuthType Basic 需要有效用户

这就是诀窍,但我演示的域名现在是demo.domain.com而不是domain.com/demo/。我对这个权衡很好,这是我在dreamhost共享主机上找到的唯一解决方案。