密码和ip限制在htaccess中

我正在学习如何使用htaccess。

  1. 首先,我想尝试如何为以下目录设置用户名和密码~/public_html/55/m

     ~/public_html/55/m$ ls -la total 24 drwxr-xr-x 2 tim Domain^Users 4096 2011-12-16 21:39 . drwxr-xr-x 3 tim Domain^Users 4096 2011-12-16 21:42 .. -rwxr-xr-x 1 tim Domain^Users 271 2011-12-16 21:26 .htaccess -rwxr-xr-x 1 tim Domain^Users 8 2011-12-16 21:39 .htpasswd -rwxr-xr-x 1 tim Domain^Users 884 2011-12-16 20:02 index.html 

    我手动创build了两个文本文件: .htaccess.htpasswd 。 他们的内容是

     ~/public_html/55/m$ cat .htaccess AuthUserFile /home/WIN/local/WIN/tim/public_html/55/m/.htpasswd AuthGroupFile /dev/null AuthName EnterPassword AuthType Basic Require valid-user ~/public_html/55/m$ cat .htpasswd tim:123 

    但是我可以访问网页而不需要提供用户名和密码。 我想知道为什么?

  2. 其次我想试试如何限制ip范围来访问~/public_html/55/n

     ~/public_html/55/n$ ls -la total 16 drwxr-xr-x 2 tim Domain^Users 4096 2011-12-16 21:54 . drwxr-xr-x 4 tim Domain^Users 4096 2011-12-16 21:53 .. -rwxr-xr-x 1 tim Domain^Users 292 2011-12-16 21:53 .htaccess -rwxr-xr-x 1 tim Domain^Users 884 2011-12-16 21:53 index.html 

    在那里我手动创build的文本文件.htaccess的内容是:

     ~/public_html/55/n$ cat .htaccess AuthUserFile /dev/null AuthGroupFile /dev/null AuthName AllowFromBlah AuthType Basic <limit GET> order deny,allow deny from all allow from xxx.edu </Limit> 

    但是我可以从指定的IP地址范围xxx.edu以外访问网页。 我想知道为什么?

感谢致敬!

在虚拟主机configuration中使用AllowOverride指令可能会忽略这些目录的.htaccess文件。 从http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

当这个指令设置为None时,那么.htaccess文件将被完全忽略。 在这种情况下,服务器甚至不会尝试读取文件系统中的.htaccess文件。

编辑:在Ubuntuconfiguration基于/etc/apache2 ,其他系统有其基于/etc/httpd或其他目录的configuration。 用户主目录的Ubuntuconfiguration由mods-available/userdir.conf处理,当链接到/etc/apache2/mods-enabled 。 它将主目录指定为/home/*/public_htmlphp4.conf也引用相同的目录。