.htaccess 没有运行?

.htaccess 没有运行?

我是 Linux 管理新手,我正在尝试限制外界访问我的 /var/www 文件夹中的文件。

我做了研究,发现 .htaccess 和 .htpasswd 是一个很好的解决方案。所以我找到了这个在线教程这里它告诉我要创建如下所示的 .htaccess 文件

AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /var/www/.htpasswd
Require valid-user

然后网站上会生成一个密码,所以我输入了密码,它告诉我把密码放在我的 .htaccess 文件中(用户是 tom,我使用 X 来隐藏我的密码)

tom:$XXXXXXXXXXXXXXXXXXXXXXXXXXXX/

我现在将两个文件都放入我的 /var/www/ 目录中。但是,当我尝试通过 Web 浏览器访问我的文件(例如 XXX.XX.XXX/myfiles/test....)时,它仍然允许我访问。

我究竟做错了什么?

谢谢!

答案1

检查你的 Apache 错误日志。这可能是:

  • /var/log/apache2/error.log(Ubuntu)
  • /var/log/httpd/error_log(RHEL / Red Hat / CentOS / Fedora)
  • /var/log/httpd-error.log(FreeBSD)

对于 AllowOverride 设置,您可能需要查看以下文件夹:

  • /etc/apache2/sites-available/(Ubuntu)。

如果您采用默认设置,则需要查看以下文件:

  • /etc/apache2/站点可用/默认

但是如果您为您的域设置了自定义文件,它可能位于该目录中的另一个文件中。

在 sites-available 文件中,您可能会看到类似这样的内容:

<Directory /var/www/>
    AllowOverride None
</Directory>

将‘无’更改为‘全部’。

相关内容