.htaccess从2.2更改为2.4,保护目录

时间:2012-12-31 20:04:04

标签: apache .htaccess apache2

我有一台运行Apache 2.2的Web服务器,我正在使用Apache 2.4开始一个新服务器 以下是我在新2.4机器上的vhost:

<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中工作如果是这样,我怎样才能改变我的方式来做我想做的事?

1 个答案:

答案 0 :(得分:0)

根据手册(我在Apache网站上搜索了satisfy并发现了这个链接:http://httpd.apache.org/docs/trunk/upgrading.html#run-time)访问控制系统已经改变。

我相信你现在可以做到:

AuthType Basic
AuthName "Htaccess"
# Optional line:
AuthBasicProvider file
AuthUserFile /var/www/.htpasswd
<RequireAll>
    RequireMethod GET POST
    <RequireAny>
        Require ip officeip
        Require valid-user
    </RequireAny>
</RequireAll>

来源: