• ベストアンサー

.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>

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

  • ベストアンサー
  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答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回の記述で全体にかける=簡略用に使用 | もしくは・又は等の意、複数条件に使用

fesmy
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#39970
noname#39970
回答No.1

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

fesmy
質問者

お礼

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

fesmy
質問者

補足

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

すると、全ての回答が全文表示されます。

関連するQ&A