【问题标题】:.htaccess changes from 2.2 to 2.4, protect directory.htaccess 从 2.2 更改为 2.4,保护目录
【发布时间】:2012-12-15 20:25:11
【问题描述】:

我有一个运行 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 中的工作方式是否发生了变化,如果是,我该如何更改我的文件以执行我想要的操作?

【问题讨论】:

  • 如果你投反对票,请发表评论,让我知道我做错了什么-_-

标签: apache .htaccess apache2


【解决方案1】:

根据手册(我在 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>

来源:

【讨论】:

    猜你喜欢
    • 2013-09-18
    • 1970-01-01
    • 2018-11-26
    • 2012-08-21
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多