.htaccess代表“超文本的访问”。这是默认的Apache目录级别的配置文件。 htaccess的可用于保护在网络服务器的特定的目录。其中最常见的用途是要求以服务于某些网页的用户身份验证。
创建.htaccess文件。
首先在你的网站上的文档根目录,以保护整个网站或特定目录下创建一个
.htaccess文件并添加以下内容。
AuthType Basic
AuthName "Secure Content"
AuthUserFile /home/myuser/public_html/.htpasswd
require valid-user
- AuthType:定义身份验证的类型。基本手段是没有加密的密码哈希以明文形式发送。
- AuthName:这是上显示的网页内容时的用户名和密码提示。
- AuthUserFile:是存储用户凭证的文件。
- require valid-user:表明,只有成功验证请求,可能会加载页面。
在 htpasswd 里创建用户
现在,随着创造htpasswd的用户在.htaccess文件中定义的。您可以在加密的明文或MD5添加用户和密码。
以纯文本格式添加密码:
# htpasswd -c /home/myuser/public_html/.htpasswd myuser
添加密码以MD5加密格式
# htpasswd -cm /home/myuser/public_html/.htpasswd myuser
- -c:当您创建htpasswd文件仅用于第一次。如果你使用它第二次,它会删除现有的文件并重新创建新的。
- -m:用于保存密码的MD5格式。
配置Apache允许.htaccess验证
由默认的Apache不允许使用.htaccess,所以你还需要更新以下在httpd.conf设置为允许基于.htaccess验证。我们使用AllowOverride变量定义.htaccess是否将Apache或没有看过。
From:
AllowOverride none
To:
AllowOverride AuthConfig
要设置AuthConfig允许在.htaccess中唯一的身份验证,设置休息(如果有的话)将被忽略。要允许到位AuthConfig在.htaccess文件中使用“全部”中定义的所有设置“。
重新启动Apache和测试设置。
在Apache配置文件进行任何更改后(或httpd.conf文件apache2.conf),您需要重新启动Apache的Web服务。
为CentOS / RHEL 6/5的用户:
# service httpd restart
为CentOS / RHEL 7用户:
# systemctl enable httpd.service
对于Ubuntu的/ Debian的用户:
# service apache2 restart
感谢您阅读这篇文章,我希望它会帮助你了解在Apache使用的.htaccess设置基本身份验证。