• ベストアンサー
  • 暇なときにでも

.htaccess/特定のファイルだけ許可したい

ロボットや海外のアクセスを制限したサイトを運営しています。 特定のファイルだけ許可を出したいのですが 全て同じフォルダ内にあるファイルの場合 どのように書いたら良いのでしょうか? とりあえず下記のように書いてみて、動作しているようですが 短く略す事が出来たり、他に正しい方法があったら教えて下さい。 よろしくお願いいたします。 <Files robots.txt> allow from all </Files> <Files bana.jpg> allow from all </Files> <Files 403.php> allow from all </Files> <Files 404.php> allow from all </Files> <Files 500.php> allow from all </Files>

共感・応援の気持ちを伝えよう!

  • HTML
  • 回答数2
  • 閲覧数5243
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.2

<Files ~ robots.txt|bana.jpg|403.php|404.php|500.php> allow from all </Files> 上記のように略すことが可能です 厳密に書くならば <Files ~ "^(robots\.txt|bana\.jpg|403\.php|404\.php|500\.php)$"> allow from all </Files> のようになるだろうと思います ~ パターンマッチであることを表す ^ 始まりを明確に示すために使用 $ 終わりを明確に示すために使用 \ ドットを明確な文字列として認識させるために使用 () 1くくりにする  -> 今回の場合は^ と $ を1回の記述で全体にかける=簡略用に使用 | もしくは・又は等の意、複数条件に使用

共感・感謝の気持ちを伝えよう!

質問者からのお礼

書いていただいたそのままをコピーさせていただきました。 正規の書き方は、全然理解していなかったので 丁寧に教えていただいて、助かりました。 ありがとうございました。

その他の回答 (1)

  • 回答No.1
noname#39970
noname#39970

短くするには 階層を掘るしか。 ただ、共通しているのであれば FilesMatch 辺りを使うとか。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

補足とお礼の場所を間違えてしまいました…

質問者からの補足

ありがとうございます。 エラードキュメントも階層が一緒なのは 良くない気もしますので、考えてみたいと思います。

関連するQ&A

  • .htaccess 特定のファイルだけ許可

    以下の質問と全く同じなのですが、 http://oshiete1.goo.ne.jp/qa2861527.html 例えば、 <Files ~ "^\.(jpg|JPG)$"> allow from all </Files> としても、他のファイルを表示(もしくはアクセス)することが出来てしまいます。 jpgは表示OKで、その他のファイルはNGとしたいのですが、NGのファイルも全て別途NG指定する必要があるのでしょうか?

    • ベストアンサー
    • PHP
  • .htaccess 特定IPのみアクセス許可

    .htaccess 特定IPのみアクセス許可↓ order deny,allow deny from all allow from 特定IP 上記設定がされているサイトに、特定IP以外の他人がアクセスする方法はありますでしょうか?(ハッカーなど) 現在、私のサイトで外部に洩れてはならない情報を取り扱っており、 .htaccessでアクセス制限は行っているのですが、 少々心細いので質問させていただきました。

  • .htaccessで特定のフォルダ以外をアクセス禁止にするには?

    昨日からLinuxの勉強を始めた初心者です。 .htaccessの書き方についてどなたかご教授ください。 特定のファイル(index.phpとhtmlフォルダ)以外へのアクセスを禁止しようと下記のコードを書いてみました。 <Files ~ "*"> deny from all </Files> <Files ~ "^(index.php|html)$"> allow from all </Files> が、全てのファイルへのアクセスが禁止されてしまったのか、index.phpへアクセスできなくなってしまいました。 かといって、index.phpとhtmlフォルダ以外の全てのファイルを記述して、denyするのは記述が汚くなるので避けたいです。 どのように記述したらよいのでしょうか?

  • .ftpaccessで特定のファイル・ディレクトリ

    .ftpaccessで特定のファイルやディレクトリにIPアドレスでアクセス制限をかけたいと思っています。 使っているサーバーはロリポップです。 「.ftpaccess」記述は以下のように記述しましたがうまく行きません。 ======================================================== <Limit ALL> Order Allow,Deny Deny from all </Limit> <Files "sample.html"> order allow,deny deny from 111.111.111.111(IPアドレス) </Files> ======================================================== 111.111.111.111というIPアドレスからFTPソフトでアクセスが有った場合、sample.thmlにのみアクセスできるようにしたいです。 またファイルではなくディレクトリを制限・許可する方法も教えてほしいです。よろしくお願いします。

  • htaccess:制限IPのうち特定のIPのみ許可

    .htaccessで、 order allow,deny allow from all deny from deny from 118.243.0.0/16 のようにネットマスクを利用して複数のIPアドレスからのアクセスを制限した上で、そのうち(制限したIPアドレスに含まれるうち)の一つのIPアドレス (例:118.243.126.243)にのみアクセスを許可したい場合、.htaccessに具体的にどのように記述すればよいのでしょうか? どのように記述するか分からないのですが、118.243.126.243をとばした「118.243.0.0から118.243.126.242」と「118.243.126.244から118.243.255.255」を別々に制限すればよいように思います。ただし、記述の仕方が分からないので教えてください。 よろしくお願いします。

  • .htaccessでアクセス許可したい

    IDやパスワードの書いてあるデータベース接続用のファイルを.htaccessで一般の人からの閲覧を拒否させたいのですが、肝心の呼び出し元スクリプトからのアクセスも拒否してしまいます。 レンタルサーバー環境の場合、.htaccessにはどのように記述すればよいのでしょうか? 現在の所、 ------------------.htaccess記述--------------------------------- <Files ~ "mysql.ini"> Order deny,allow Deny from all allow from ftp00.heteml.jp </Files> ---------------------------------------------------------------- (●mysql.ini~データベース接続用ファイル) (●ftp00.heteml.jp~レンタルサーバーのホスト名) と、書いています。 恐らく allow from ftp00.heteml.jp でのホスト指定の仕方に誤りがあると思うのですが・・ どのように訂正すれば呼び出し元スクリプトからのアクセスを許可するようになるでしょうか? ご存知の方いらっしゃいましたら宜しくお願いします!

  • 「htaccess」と「jsファイル」について

    csvとjsを読み込んで表示させているPHPスクリプトがあります。 ■htaccess <Files ~ ".(dat|log|csv|txt)$"> deny from all </Files> この状態では、問題ないです。 ・csvファイルには、ブラウザから直接アクセスできない。 ・csvファイル自体は、ファイルに読み込まれ、結果が画面に正常表示されている。 ところが、拡張子にjsファイルを追加したところ、 画面上で、そのjsスクリプト部分がまったく読み込まれないようになりました。 <Files ~ ".(dat|log|csv|txt|js)$"> deny from all </Files> ■質問内容 拒否ファイルにcsvがあっても、csvファイルは読み込めたのに、 拒否ファイルにjsを指定すると、なぜ、読み込めなくなるのでしょうか? jsはクライアントサイドの処理で、 csvファイルはサーバサイドのPHPを利用して読み込んでいるからなのでしょうか? deny from all って、アパッチの設定か何かなのでしょうか? 具体的に何をしているのでしょうか?

  • .htaccess の書き方について教えてください。

    こんにちは、質問させてください。 webサイトを運営しており、.htaccessによるアクセス規制を検討しています。 下記のように複数のアクセス規制をしたい場合、どのように書けば良いでしょうか? ○特定IPアドレスからのアクセス ○プロキシ経由でのアクセス ○特定URLからのアクセス 過去ログ等を検索してみて、現在、以下のようなソースにしています。 ------------------------------------- #特定IPとプロキシ経由の拒否 order allow,deny allow from all deny from ***.***.**.*** order deny,allow deny from all allow from .jp allow from .net allow from .com #特定アドレスからのアクセス拒否 SetEnvIf Referer "http://sample.url.com" ref01 order Allow,Deny Allow from all Deny from env=ref01 ------------------------------------- プロキシ経由の場合、すべてを弾くのは難しいと思いますが… 何か他に良い書き方がありましたら、アドバイスをお願いします。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • Apacheで特定のファイルのみアクセス許可したい

    httpd.confの末尾に次の記述をしてapacheをリスタートしtop.htmlにアクセスしても 403エラーとなりアクセスできません。原因が分かる方よろしくお願いします。 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa"> Order deny,allow Deny from all SetEnvIf REFERER localhost referer_ok Allow from env=referer_ok </Directory> <Files "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa/top.html"> Order allow,deny Allow from all </Files>

    • ベストアンサー
    • HTML
  • .htaccessについておしえてください。

    外部からjsファイルを直リンクなどで、見られないようにできないかと考えています。 .htaccessで特定のサイトからのみ参照を許可するという記事を見ました。 例えばヘテムルのサーバにあるhttp://abc.heteml.jp/def/index.htmlからだけhttp://abc.heteml.jp/def/js/test.jsに参照を許可するのに、.htaccess に以下のように書きました。 SetEnvIf Referer "^http://abc\.heteml\.jp" ok_url <Files ~ "\.(js)$"> order deny,allow deny from all allow from env=ok_url </Files> 直リンクしようとすると500 error Internal Server Errorとなります。しかし、index.htmlにjs/test.jsが効かなくなりました。 .htaccess については全然分かっていません。いろいろなサイトを見ながらやっているのですが、うまくいきません。詳しく教えていただきたいと思い、投稿しました。 よろしくお願いします。