ちょっと変な操作が必要です。
まず、Debian、apache2(ユーザーwww-dataとして「実行」)で実行します。
だから、私は.txtまたは.iniを含む単純なテキストファイル、または重要ではない任意の拡張子を持っています。
これらのファイルは、次のような構造のサブフォルダーにあります。
www.example.com/folder1/car/foobar.txt www.example.com/folder1/cycle/foobar.txt www.example.com/folder1/fish/foobar.txt www.example.com/folder1/fruit/foobar 。txt
したがって、ファイル名は常に同じで、「階層」も同じです。フォルダの名前を変更するだけです。/folder-name-static/folder-name-dinamyc/file-name-static.txt
私がやるべきことは(私が思うに)比較的単純です:サーバー上のプログラム(python、phpなど)でそのファイルを読み取ることができなければなりませんが、ブラウザ(www。 example.com/folder1/car/foobar.txt、またはcUrlなどを使用します。)禁止されているエラーなどを取得する必要がありますが、ファイルにはアクセスできません。
また、FTP経由でこれらのファイルにアクセスする場合でも「非表示」になっているか、とにかくダウンロードできなかったのもよいでしょう(少なくとも、私はftpルートとユーザーデータで使用しています)。
どのようにできるのか?
私はこれをオンラインで見つけました、ファイル.htaccessに入れてください:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
動作しているようですが、ファイルがWebルート(www.example.com / myfile.txt)にあり、サブフォルダーにはない場合のみです。さらに、第2レベルのフォルダー(www.example.com/folder1/ fruit /foobar.txt)は、2 項作成されます。.htaccessファイルを時々変更する必要がないようにしたいと思います。
* www.example.com / folder-name-static / * folder-name-dinamyc / *** file-nameにある、指定された名前のすべてのファイルに適用されるようなルールを作成することが可能です。 -static.txt *、これらの部分は常に同じですが、**その1つの変更だけですか?
編集:
Dave Dragerが言ったように、これらのファイルをWebアクセス可能なディレクトリの外に置いておくと、これを簡略化できます。しかし、それらのディレクトリには、他のファイル、画像、およびユーザーが使用するものも含まれるので、次のような重複したフォルダーシステムを持たないようにしています。
/var/www/vhosts/example.com/httpdocs/folder1/car/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/cycle/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/fish/[other folders and files here]
//and, then for the 'secrets' files:
/folder1/data/car/foobar.txt
/folder1/data/cycle/foobar.txt
/folder1/data/fish/foobar.txt