【httpd.conf】【inc】というフォルダ名配下にはアクセス不可能にしたい

このQ&Aのポイント
  • Apache 2.0.63、CentOS4.4を使用している場合、httpd.confファイルで【inc】というフォルダ名配下のファイルにエンドユーザがアクセスできないようにする方法を教えてください。
  • 大文字小文字を区別せずに【inc】というフォルダ名について対応する方法を知りたいです。フォルダ名は完全一致で対応したいです。
  • 以下のような書き方で【inc】というフォルダ名配下のファイルにアクセスできないように設定することはできますか?
回答を見る
  • ベストアンサー

【httpd.conf】【inc】というフォルダ名配下にはアクセス不可能にしたい

Apache 2.0.63、CentOS4.4を使っています。 httpd.confにて、「【inc】というフォルダ名配下のファイルには全てエンドユーザがアクセスできないようにすることはできるのでしょうか? なお、【inc】だけでなく、【INC】、【inC】、【Inc】など・・・要は、大文字小文字関係なく「inc」というフォルダ名について対応したいです。 なお、フォルダ名は完全一致で、と思っています。 以下のような書き方だったらわかるのですが・・・。 <Files ~ "(\.swp|\_org|\-org|\.org|\_tmp|\-tmp|\.tmp|\_bak|\.bak|\.class|\.inc|\.ini|\.conf|\.cnf|\.dat|\.log|\.csv|\.txt|\.xls|\.pst|\.xlsx|\.mdb|\.accdb|\.doc|\.docx|\.mpp)$i"> Order Deny,Allow deny from all #SetEnv ERRLOG logs/error.log </Files> ご存じのかたいらっしゃいましたら、どうぞよろしくお願いいたします。

  • ymck
  • お礼率69% (65/93)

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

<DirectoryMatch "(/inc/)i"> Order deny,allow Deny from all </DirectoryMatch> でよさそうな気がします

ymck
質問者

お礼

ありがとうございます。 確かに、実現できました。 ただ、ちょっとおききしたいのですが、 <DirectoryMatch "(/inc/)i"> Order deny,allow Deny from all </DirectoryMatch> でなく <Directory "(/inc/)i"> Order deny,allow Deny from all </Directory> でも実現できました。 apacheのマニュアルを見ると、 DirectoryMatch は正規表現を使うときに、Directoryは正規表現を使わないときに用いる・・・とあるので、後者で実現できているのが不思議なのですが・・・。 //----------------------------------------------------------- また、話題がずれますが、「大文字小文字を区別しない」ための方法で、 つい先ほどたまたま知ったのですが、 <DirectoryMatch "(?i:/inc/)"> Order deny,allow Deny from all </DirectoryMatch> <Directory "(?i:/inc/)"> Order deny,allow Deny from all </Directory> というものがあり、これでも実現できました。 どちらのほうが望ましいのでしょうか? もしよろしければ、お教えいただければ幸いです。 よろしくお願いいたします。

ymck
質問者

補足

すいません、追加で質問させていただいた内容について、 ちょっとややこしい部分があったので、 【Apache】<Files ~>と<FilesMatch>及び、<Directory ~>と<DirectoryMatch>の違いは? http://oshiete1.goo.ne.jp/qa4307622.html として別途質問を投稿いたしました。 もしよろしければ、そちらにご回答いただけると助かります。 お手数をおかけして恐縮ですが、よろしくお願いいたします。

関連するQ&A

  • 基本的なことかもしれませんが・・・htaccessとhttpd.conf

    CGI初心者です。 /home/sites/home/web/privateにアクセス制限をかけようと、.htaccessをおきました。IDとパスワードのファイルはpassword.txtです。 htpasswdについて、過去ログを調べて見に行ったりもしましたが、何分チンプンカンプン・・・もっと易しい紹介サイトってないですか? とにかく、.htaccessで認証画面を出すことには成功しましたが、いくらやっても認証されないんです・・・(T_T) 中身はこんなんです。 AuthUserFile /home/sites/home/web/honda-roso.or.jp/maintenance/edit/password.txt AuthGroupFile /dev/null AuthName "Please enter username and password" AuthType Basic <Limit POST GET PUT> require valid-user </Limit> <Files .htaccess> order deny,allow deny from all </Files> おかしいところなどあったら教えてください。 あと、httpd.confって言葉が過去ログにありましたがこれってなんですか? 単純なことかもしれませんが、なるべく易しく御教授下さいm(__)m

    • ベストアンサー
    • CGI
  • 【Apache】<Files ~>と<FilesMatch>及び、<Directory ~>と<DirectoryMatch>の違いは?

    <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>の違いは、 いったいなになのでしょうか? ご存じの方いらっしゃいましたら、お教えいただければ幸いです。

  • バッチファイル フォルダ名をファイル名に置き換える

    ある複数フォルダに格納されているファイルを、フォルダ名に リネームするバッチファイルを作成したいです。 ●リネーム前 C:\リネーム\あいうえお\data.txt C:\リネーム\かきくけこ\data.txt C:\リネーム\さしすせそ\data1.txt C:\リネーム\さしすせそ\data2.txt C:\リネーム\たちつてと\data1.log C:\リネーム\たちつてと\data2.log C:\リネーム\なにぬねの\data.log ↓ ●リネーム後 C:\リネーム\あいうえお\あいうえお.txt C:\リネーム\かきくけこ\かきくけこ.txt C:\リネーム\さしすせそ\さしすせそ 1.txt C:\リネーム\さしすせそ\さしすせそ 2.txt C:\リネーム\たちつてと\たちつてと 1.log C:\リネーム\たちつてと\たちつてと 2.log C:\リネーム\なにぬねの\なにぬねの.log 知識がなく申し訳ありませんが、お助け願います。。 pause cd c:\リネーム dir /s /b C:\リネーム\ > file.tmp for /f "delims=" %%F in (file.tmp) do ( for /f "delims=\ tokens=3" %%D in ("%%F") do ( REN %%F C:\リネーム\%%D\%%D%%~xF )) del file.tmp pause どうもうまくいきません。。。

  • このフォルダを削除してもいいでしょうか?

    (名前)tmp***.tmp (フォルダ名)C\Program File\Common Files\Symantec Shared\VirusDefs こんな感じのフォルダがたくさんあるのですが、 削除してもいいのでしょうか?

  • SPOOLのログについて

    sysユーザで入るスクリプトを作成しているのですが、そこで、ログ出力の設定をしようと考えています。 spool ログファイル名 だけだと、ログファイルは上書きされてしまうようですが、追加書きにできないでしょうか? スクリプトの頭の部分は以下のようになっています。 -------------------- setenv DAY `date '+%Y%m'` setenv LOGFILE /tmp/test_${DAY}.log sqlplus -s /nolog << EOF connect /as sysdba spool $LOGFILE --------------------- なお、毎日cronで実行し、結果を月ごとにまとめたいと考えています。 何か、いい方法があれば教えてください。

  • 捨てても良いファイル?(TMP、SWP)

    エクスプローラを開き、windowsのフォルダのアイコンをクリックすると、いっぱいファイル名が並びました。 その中で、TMPファイルというのが非常に多く、サイズが0KBです。これを全部削除したら、何か不都合が起こるでしょうか? このファイル名は、ffcO ... { ... } tempなどとなっています。 また、SWPファイルとは何でしょうか? よろしくお願いします。

  • アクセス制限について

    初めまして。 質問の内容ですが、www直下においてある.htaccessに動作確認の為自分のホストをdenyするように記述しても、フォルダBにあるファイルにアクセスできてしまいます。フォルダAのバナーは表示されなくなるのですが…。 ロボ避けが働かないと困るので、何とか機能させたいと思っています。ディレクトリの構成と内容は以下の通りです。 | .htaccess | フォルダA(直リンクバナーを置いています)   |-.htaccessなし | フォルダB(サイト本体です)   |-.htaccessあり | フォルダC(制限にかかった時表示するファイルを置いています)   |-.htaccessあり ==========直下の.htaccess=========== DirectoryIndex index.html .ht order allow,deny allow from all deny from xxx.xxx.xxx.xxx deny from 自分のホスト名 <Files ~ "^\.ht"> deny from all </Files> <Files robots.txt> order deny,allow allow from all </Files> ==========フォルダB=========== DirectoryIndex index.html .ht ErrorDocument 403 /フォルダC/403.html order allow,deny allow from all deny from yyy.yyy.yyy.yyy <Files ~ "^\.ht"> deny from all </Files> ====================== です。長くてすみません。 以前動作確認した時はちゃんと弾かれていたのですが、最近フォルダBにある.htaccessを編集した時に再度動作確認してみると弾かれなくなっていました。 フォルダBに自分のホストをdenyするように書くとちゃんと機能します。どの辺りをいじればいいでしょうか?

    • ベストアンサー
    • HTML
  • httpd.conf

    Apacheのhttpd.confで CustomLog /usr/local/apache/logs/access_log combined ErrorLog /usr/local/apache/logs/error_log などをコメントアウトして、ログの記録を止めるのはApacheの動作自体に問題はあるのでしょうか? どうしてもログの記録を一時的に止めたいのですが、方法として上記のようなやり方は間違ってないでしょうか。

  • httpd.confが読み込まれません

    httpd.confの設定を修正したにもかかわらずApacheを再起動しても、httpd.confの設定が反映されません。どのようなことが原因として考えられますでしょうか? すいませんが、よろしくお願いいたします。

  • httpd.confに関して

    Windows版apache2.2.4のhttpd.confの設定をWeb等で調べながら行っていますが、自分がダウンロードしてきたhttpd.confとWeb上の表記が違っていて混乱しています。 例えばユーザディレクトリuserを作り、以下のURLで表示させたい場合、 http://localhost/~user/index.html 以下の設定をすれば良い、と書いてあります。 <IfModule mod_userdir.c> UserDir "C:/Program Files/Apache Group/Apache/users/" </IfModule> 上記記述は最初から私がダウンロードしたファイルにはありませんでした。 この部分をコピーペーストして試しましたがうまく表示されませんでした。 以下のことを教えていただけないでしょうか。 1)上記ユーザディレクトリを表示するにはどうすれば良いか。不足している記述等。 2)httpd.confの記述がダウンロード先によって違うのは何故か。バージョン情報などそれらの違いを識別する方法はあるのか。また、すべての機能を網羅したバージョン(?)は存在するのか。 以上、宜しくお願いします。