1

ここで何が問題なのかわかりませんが、次のconfがあります。

    # Root
    <Directory /var/www/xxx/>
            AllowOverride All

            Header always append Directory Home
    </Directory>


    # images
    <Directory /var/www/xxx/images/>
            AllowOverride None

            Order allow,deny
            allow from all

            Header always append Directory images
    </Directory>

ルートディレクトリ内に.htaccessファイルがあり、ディレクトリ内のどこにでも含めることができます。

私がやろうとしているのは、この構成から「images」ディレクトリを除外することです。デバッグできるように、すべてのディレクトリに特別なヘッダーを追加しました。以下のCURLコマンドに従って、ルールに正しく準拠しています。

< HTTP/1.1 401 Authorization Required
< Directory: Home, images
< Last-Modified: Fri, 21 Sep 2012 09:47:28 GMT
< ETag: "9e81e5-4069-20b94c00"
< Accept-Ranges: bytes
< Content-Length: 16489
< Connection: close
< Content-Type: image/png

問題は、ヘッダー(Home、images)によると、200OKではなく401を受け取っていることです。最初に「All」を取得し、次に「None」で上書きする必要がありますが、そうではありません。 401を受け取った場合、ここで何が問題になる可能性がありますか?

4

2 に答える 2

1

親ディレクトリに、認証が必要な htaccess ファイルがあり、/images/ディレクトリに適用されています。このAllowOverrideディレクティブは、htaccess ファイル内のディレクティブを許可します。親の htaccess ファイルにある可能性があるものを削除または禁止することはありません。

あなたが持っている場合:

  1. ドキュメント ルート ディレクトリ:AllowOverride All
  2. ドキュメント ルート ディレクトリ htaccess ファイル: 認証が必要、有効なユーザー

その後:

  1. 画像ディレクトリ:AllowOverride None
  2. images directory htaccess: このファイルの何も適用されません。AllowOverride

ただし、親 htaccess のすべてのディレクティブは引き続き適用されます。

ディレクトリを認証の要求から除外する場合/imagesは、親の htaccess (または vhost 構成、またはセットアップがある場所) の認証設定で除外を設定する必要があります。

于 2012-09-27T17:10:25.150 に答える
0

「SatisfyAny」を使用することで、サブディレクトリにAUTHがないという問題を解決しました。

<Directory /var/www/xxx/images/>
    allow from all
    Satisfy Any

    Header always append Directory images
</Directory>
于 2012-10-06T13:19:38.260 に答える