<Files ~ "\.log$">
deny from all
</Files>
上の例では、拡張子が「.log」のファイルを見れないようにします。これを応用して、たとえば、「.htaccess」と「.htpasswd」を見れないようにするには、
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
と記述すればいいのです。この記述は、正規表現によるパターンマッチを使っています。難しい言葉ですが、具体例を見て、応用してください。なお以下の例では、上記の例での1行目だけを記載しております。1行だけでは、有効になりませんので、必ず、3行記述するようにして下さい。
■ 特定の拡張子のついたファイルをすべて見れなくする。
<Files ~ "\.dat$">
これは拡張子が「.dat」であるすべてのファイルが見れないようになります。たの拡張子のファイルを見れないようにするには、「.dat」の部分を書き換えてください。
■ 指定したファイルだけ見れなくする。
<Files ~ "^access\.log$">
これは、「access.log」というファイルだけが見れないようになります。他のファイル名にしたいときは、「access\.log」の部分を書き換えてください。ただ、「.」(ドット)の前には、必ず「\」を入れてください。
■ ワイルドカードを使う
<Files ~ "^foo\.*$">
これは、ファイル名のはじめが「foo」で始まって、すべての拡張子をもったファイルが見れなくなります。たとえば、「foo.dat」「foo.log」「foo.jpg」「foo.gif」は、すべて対象となります。ただ、「foo」のように拡張子を持たない場合には、適応されません。
■ 一文字ワイルドカードを使う
<Files ~ "^access?\.dat$">
これは、「access」の次にくる一文字がなんであろうと、適応されます。ただし、ファイル名の最後は「.dat」である必要があります。たとえば、「access1.dat」「access2.dat」「accessA.dat」はすべて適応されます。ただし、「?」の部分が2文字になると適応されません。たとえば、「access11.dat」がそうです。この場合には、
■ 複数の文字列を同時に指定する。
<Files ~ "\.(gif|jpg|png)$">
これは、拡張子が「.gif」「.jpg」「.png」であるファイルのみを見れなくします。その他の拡張子を加えたいばあいには、「|」(パイプ)で区切って加えてください。
上であげた例で、見慣れない文字が入っていますが、それぞれについて意味をみていきましょう。
~ | パターンマッチであるという意味です。「=」でないことに注意してください。「~」より右側に記述したルールにマッチしたファイルを適応するということです。 |
^ | ファイル名の先頭であることを指示します。たとえば、 |
$ | ファイル名の最後であることを指示します。たとえば、 |
* | ワイルドカードです。 |
? | 一文字ワイルドカードです。 |
\ | 「.」「\」「|」「$」のような記号文字は、 |
(foo|bar) | 括弧内に、「|」で区切って記述すると、その中に記述された文字列のいづれかという意味となります。この場合には、「foo」もしくは「bar」という意味となります。 |
元ネタコピペです。
0 件のコメント:
コメントを投稿