我正在放松这个(应该)简单的任务。 我想限制访问我的网站,这是我的服务器在/ 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中的configuration有AllowOverride None而不是AllowOverride All 。
我确定我改变了这一点,但是我想我在文件不工作的时候恢复了文件(不记得为什么 – 可能是别的东西被错误地configuration了)。 无论如何,第一款是解决scheme。