2

Apache 2.2 を実行している Web サーバーがあり、Apache 2.4 で新しい Web サーバーを開始しています。
以下は、新しい 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 マシンでは、特定のスクリプトに移動すると、ログインするよう求められます。

2.4 での .htaccess ファイルの動作方法に変更がありましたか? もしそうなら、どうすれば自分のやりたいように変更できますか?

4

1 に答える 1

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>

ソース:

于 2013-12-17T10:38:12.447 に答える