Security .htaccess密码保护允许127.0.0.1但不允许本地主机

Security .htaccess密码保护允许127.0.0.1但不允许本地主机,security,apache,.htaccess,xampp,Security,Apache,.htaccess,Xampp,我正在尝试对我的公用文件夹进行密码保护,以便任何试图从外部访问的人都会被提示输入密码,但不会在本地输入密码。到目前为止,我已经使用127.0.0.1(而不是localhost)实现了它。显然,我可以只使用ip地址,但更重要的是,我想知道为什么它不起作用。我不喜欢被打败 #Enable Password Protection AuthName "Password Protected Server" AuthType Basic AuthUserFile c:\xampp\apache\securi

我正在尝试对我的公用文件夹进行密码保护,以便任何试图从外部访问的人都会被提示输入密码,但不会在本地输入密码。到目前为止,我已经使用127.0.0.1(而不是localhost)实现了它。显然,我可以只使用ip地址,但更重要的是,我想知道为什么它不起作用。我不喜欢被打败

#Enable Password Protection
AuthName "Password Protected Server"
AuthType Basic
AuthUserFile c:\xampp\apache\security\.htpasswd
Require valid-user
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
Satisfy Any
到目前为止,我的代码是:

我正在Windows7上运行XAMPP1.7.3,以防有帮助


任何帮助都将不胜感激

听起来像是IPv6问题。当您使用127.0.0.1连接到站点时,Apache会将请求视为来自IPv4本地主机(127.0.0.1)。但是,当连接到localhost时,Apache会将请求视为来自IPv6 localhost(::1)


如果这是问题所在,您应该能够通过将
Allow from localhost
行替换为
Allow from::1
行来解决它

真是个英雄!我遇到了类似的情况,但我将其记为localhost::1,而不是单独的一行。谢谢你直说!谢谢你把它清理干净!然而,对任何人来说,“localhost”、“127.0.0.1”和“::1”仅仅是别名。Apache是否使识别这些别名变得更容易?哦,顺便说一句,你能添加一些关于如何在Apache2.4+中使用
Require
的信息吗?