.htaccess没有效果

我正在放松这个(应该)简单的任务。 我想限制访问我的网站,这是我的服务器在/ var / www /。

我用httpasswd successfuly(用户primoz)创build了/ etc / apache2 / passwords文件。 我把.htaccess放在/ var / www /中,这是内容:

AuthType Basic AuthName "RestrictedFiles" AuthBasicProvider file AuthUserFile /etc/apache2/passwords Require user primoz 

我的网站仍然可以访问。 我也尝试编辑/ etc / apache2 / sites-enabled / 000-default-line AllowOverride None to AllowOverride All 。 没有必要提及它没有做任何改变。

应该限制​​真的是这个令人沮丧?

编辑: /etc/apache2/httpd.conf默认是空的,因为我在Debian上运行服务器 – 而是使用apache2.conf。

这里是整个apache2.conf。

通过httpd.conf启用.htaccess,然后把这个代码放在你的.htaccess下的DOCUMENT_ROOT目录下:

 AuthType Basic AuthName "RestrictedFiles" AuthUserFile /etc/apache2/passwords Require valid-user 

还要确保启用了mod_authn_core。

只看我的(这是使用中):

 AuthUserFile /var/www/www.site.com/htdocs/.htpasswd AuthName Password_secure AuthType Basic require valid-user 

你也应该编辑你的apache2.conf ,并确保启用了以下内容:

 LoadModule rewrite_module modules/mod_rewrite.so 

选项/允许:

 <Directory /your/path> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all Satisfy all </Directory> 

如果是虚拟主机,则该块需要位于<VirtualHost></VirtualHost>标签内。

除此之外,在没有查看完整的apache2.conf情况下,很难看到是什么原因引起的

我能解决这个问题。 / etc / apache2 / sites-enabled / 000-default中的configurationAllowOverride None而不是AllowOverride All

我确定我改变了这一点,但是我想我在文件不工作的时候恢复了文件(不记得为什么 – 可能是别的东西被错误地configuration了)。 无论如何,第一款是解决scheme。