• ベストアンサー

.htaccessのdeny指定方法

.htaccessにて、 <Files ~ "\.db$"> deny from all </Files> みたいにして、ブラウザからアクセスを不可にしたいのですが、 いくつかマッチ表現の仕方がわかりません。 まず、tmpから始まるファイル(tmp0101.datとかtmpabc.txtとか)を 全てアクセス不可にする場合と、 特定のディレクトリ配下を全てアクセス不可にする場合がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

Filesディレクティブは正規表現を使いたいならFilesMatchディレクティブにする方が良いであろう。 tmpから始まるファイルをすべてアクセス不可にする場合は # 「tmp」には反応せず、「tmp0101.dat」とか「tmpabc.txt」には反応する <FilesMatch "^tmp.+"> Order deny,allow Deny from All </FilesMatch> # 「tmp」にも「tmp0101.dat」とか「tmpabc.txt」にも反応する <FilesMatch "^tmp.*"> Order deny,allow Deny from All </FilesMatch> #正規表現を使わずにFilesディレクティブにする場合 <Files "tmp*"> Order deny,allow Deny from All </Files> .特定のディレクトリ配下をすべてアクセス不可にする場合は、その特定のディレクトリ直下の.htaccessで <Files "*"> Order deny,allow Deny from All </Files> とすれば良いですぞ。 上記のFilesディレクティブ、FilesMatchディレクティブには「~」半角チルダが一切無い事と、各ディレクティブのダブルコーテーションの中を注意深く観察してくだされ。

coogon21
質問者

お礼

うまくいきました。 ご丁寧な回答ありがとうございました。

関連するQ&A