htaccess 使用密码保护除非文件索引之外的所有内容

htaccess 使用密码保护除非文件索引之外的所有内容

我在 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 文件。

相关内容