dポイントプレゼントキャンペーン実施中!

<Files ~ "(?i:\.ini|\.tmp)$">
Order Deny,Allow
deny from all
</Files>

と、

<FilesMatch "(?i:\.ini|\.tmp)$">
Order Deny,Allow
deny from all
</FilesMatch>

また、

<Directory ~ "^/www/.*/[0-9]{3}">
Order Deny,Allow
deny from all
</Directory>

と、

<DirectoryMatch "^/www/.*/[0-9]{3}">
Order Deny,Allow
deny from all
</DirectoryMatch>
は、
どうも同じ挙動をしているように思われます。
(違っていたらご指摘ください。)

Apacheのマニュアルには、
http://httpd.apache.org/docs/2.0/ja/mod/core.html

<Files> ディレクティブ の項目を見ると、

//===========================================================
~ という文字を付加することで拡張正規表現を使うこともできます。 例えば、
<Files ~ "\.(gif|jpe?g|png)$">
とすることにより、一般的なインターネットの画像フォーマットにマッチします。 ただし、 <FilesMatch> を使う方が 推奨されています。
//===========================================================

とあるのですが・・・。
(ただ、<DirectoryMatch> を使う方が 推奨されています。とは書いてないようです)

これら、
<Files ~>と<FilesMatch>及び、<Directory ~>と<DirectoryMatch>の違いは、
いったいなになのでしょうか?

ご存じの方いらっしゃいましたら、お教えいただければ幸いです。

A 回答 (1件)

違いはないでしょう。


Files ~ で表現していた正規表現(~無しのFilesの時は正規表現じゃなくてファイルマッチ)での指定をする専用のディレクティブを作ったということです。
新しい方を使いましょうと言うことだと思いますよ。
    • good
    • 0
この回答へのお礼

お礼しわすれておりました。失礼しました。

参考にさせていただきます。

お礼日時:2008/11/15 11:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!