我在 SO 和 ServerFault 上搜索了一个小时,试图找到答案,但未能找到。我确信有人问过类似的问题,但我想做的是:
我只想让网站根目录公开,其他网址都受密码保护。我已经准备好密码文件并可以使用。因此,
http://example.com/有效,但是http://example.com/foo需要密码。我无法基于文件执行此操作,因为我正在运行 WSGI 应用程序,而不是实际的 index.html。请指定指令是否应进入 .htaccess 或服务器的 httpd.conf。
谢谢!
回答: 根据 Shane 的回复,这是我的 httpd.conf 中的配置:
<Directory *>
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthName "Password Protected Area"
AuthType Basic
AllowOverride All
</Directory>
<LocationMatch "/.+">
Require valid-user
</LocationMatch>
以防万一有人偶然发现该页面却没有得到上述第一信息。
答案1
<LocationMatch "/.+">
Require valid-user
</LocationMatch>
斜杠后带有一个或多个字符的任何内容都会受到语句的影响Require
;您需要删除当前Require
密码配置,但保留其余密码配置。
它应该进入站点配置,无论是 httpd.conf 还是 VirtualHost 文件。