我的 WordPress 中有几个网站:example.com、example1.com 和 example2.com。它们都指向我的服务器/public_html
文件夹,即我的 Apache 根文件夹。.htaccess
仅当用户来自时,我需要在文件中添加什么才能使用 http 身份验证example2.com/public_html
?
example.com/public_html
并且example1.com/public_html
不应该使用身份验证。
答案1
该.htaccess
文件根据文件系统位置修改 apache 设置,您要在其中根据虚拟主机上下文更改设置。
因此,不要在 .htaccess 文件中设置身份验证,而是修改 Apache 配置文件并将身份验证设置添加到正确的虚拟主机条目:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
<Directory /some/path/public_html>
AuthUserFile /some/path/public_html/.htpasswd
AuthGroupFile /dev/null
AuthName "authenticated Users Only"
AuthType Basic
Require valid-user
</Directory>
</VirtualHost>
而不是使用<Directory /some/path/public_html>
指令这也可能是一个很好的用例 <Location /public_html>
虚拟主机上下文中的指令。
另一方面请注意强烈推荐来自 Apache 项目关于.htaccess
文件的信息:
.htaccess
如果您有权访问 httpd 主服务器配置文件,则应该完全避免使用文件。使用.htaccess
文件会降低 Apache http 服务器的速度。可以包含在文件中的任何指令.htaccess
最好在目录块,因为它将具有相同的效果和更好的性能。