13

私の Web プロジェクトは /var/www/vhosts/domain.tld/httpdocs/ に保存されます

以下にリストするHTACCESファイルには、次のものが含まれています。

# Refuse direct access to all files
Order deny,allow
Deny from all
Allow from 127.0.0.1

<Directory /uploads/images/pages>
    Order Deny,Allow
    Allow from all
</Directory>

.htaccessファイルは、ルートの下のフォルダー files に格納されます。フルパスは /var/www/vhosts/domain.tld/httpdocs/files/ です。

フォルダ「ファイル」の内容:

backups
    backup1.zip
    backup2.zip
    ...
mails
    mail1.html
    mail2.html
    ...
templates
    temlpate.html
    ...
uploads
    files
        manual.pdf
        ...
    images
        pages
            picture1.png
            picture2.jpg
            ...
        store
            picture1.png
            picture2.jpg
            ...
.htaccess <--- previous code block with htaccess code is for that file

私が実際にやろうとしているのは、以下を除くすべてのフォルダーを直接アクセスから保護することです。

  • アップロード/ファイル/
  • アップロード/画像/ページ/
  • アップロード/画像/ストア/

これらのフォルダ内のすべてのファイルに直接アクセスできます

.htaccess上記のように使用すると、500 エラー ページが表示されます。例の最初の 4 行のみを使用する場合 (例外なし)、コードは正常に機能します。

4

1 に答える 1

19

コンテナーを htaccess ファイルで使用できないため、500 エラーが発生し<Directory>ます (基本的に、コンテナーが含まれるディレクトリのディレクトリ コンテナー内にすべて含まれています)。必要なことは<Directory>、htaccess ファイルからコンテナーを削除し、Deny from allビットを残すことです。

ドキュメント ルートの htaccess ファイル:

# Refuse direct access to all files
Order deny,allow
Deny from all
Allow from 127.0.0.1

uploads/files/次に、uploads/images/pages/およびuploads/images/store/(およびアクセスを許可するその他のディレクトリ)に htaccess ファイルを作成します。

Allow from all
于 2013-07-25T20:37:17.343 に答える