我有一台运行 Apache 2.2 的 Web 服务器,并且正在使用 Apache 2.4 启动一个新的服务器。
以下是我在新 2.4 机器上的虚拟主机:
<VirtualHost *:80>
DocumentRoot /var/www/
ErrorLog /var/log/apache2/error_log
LogLevel info
CustomLog /var/log/apache2/access_log combined
<Directory /var/www/>
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
2.2 机器使用默认的 Apache conf。我在2.2机器上成功使用的.htaccess文件如下:
AuthName "Htaccess"
AuthUserFile /var/www/.htpasswd
AuthType Basic
Satisfy Any
<Limit GET POST>
Order Deny,Allow
Deny from all
Allow from officeip
Require valid-user
</Limit>
这使我们的办公室 IP 可以查看内容,其他所有人都必须输入用户名和密码。在 Apache 2.2 上,这按我想要的方式工作。如果您转到服务器地址或目录下的任何脚本,系统会提示您登录。但是,在 2.4 机器上,如果您转到特定脚本,它会要求您登录。
.htaccess 文件在 2.4 中的工作方式是否发生了变化,如果是这样,我怎样才能改变我的方式来做我想做的事?