Lea*_*ley 15 .htaccess .htpasswd
希望有人能够帮助解决这个问题!我一直在谷歌搜索超过2个小时,我尝试的任何东西都在工作......
我想密码保护我的网站,但是当我添加.htpasswd和.htaccess文件时,我收到服务器错误:
内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求.请与服务器管理员联系,告知他们错误发生的时间,以及可能导致错误的任何操作.服务器错误日志中可能提供了有关此错误的更多信息.
这是我正在使用的代码:
的.htaccess
AuthType Basic
AuthName "Top Secret for SongKick eyes only."
AuthUserFile /webroot/.htpasswd
require valid-user
Run Code Online (Sandbox Code Playgroud)
htpasswd的
songkick:isS1rCTQE/p8E
Run Code Online (Sandbox Code Playgroud)
我也尝试过AuthUserFile /.htpasswd(即没有"webroot",这是它在文件管理器中的文件夹的名称),但这也不起作用.
我正在使用GoDaddy托管btw,如果这有所不同.
非常感谢任何帮助 - 我不是开发人员所以不理解许多帮助文章中使用的很多术语!
Ola*_*che 31
根据AuthUserFile,您必须提供密码文件的完整路径,而不是相对路径DocumentRoot,如果它是绝对路径(即以斜杠开头).
AuthUserFile指令设置文本文件的名称,该文件包含用户身份验证的用户和密码列表.文件路径是用户文件的路径.如果它不是绝对的,则将其视为相对于ServerRoot.
请注意,ServerRoot不是DocumentRoot.
如果DocumentRoot是/var/www和密码文件/var/www/webroot/.htpasswd,你必须说
AuthUserFile /var/www/webroot/.htpasswd
Run Code Online (Sandbox Code Playgroud)
在.htaccess文件中.
您可以通过一个小的PHP脚本找到有关绝对路径的信息,例如
<?php
echo "Absolute path: ", getcwd();
Run Code Online (Sandbox Code Playgroud)
将它放在要查找.htpasswd文件的目录中,然后调用它 http://www.example.com/path/to/test.php
完成后不要忘记删除脚本.
说,你不应该把你的密码文件放在你的任何地方DocumentRoot.最好将它放在某些无法通过网络访问的地方,即/etc/apache2/htpasswd适合您的地方.
我想到两件事。
.htpasswdWeb 服务器用户可以读取吗?
您知道 Apache 是否设置AllowOverride all为允许.htaccess按预期运行吗?
| 归档时间: |
|
| 查看次数: |
32824 次 |
| 最近记录: |