- ベストアンサー
.htaccess 特定のファイルだけ許可
以下の質問と全く同じなのですが、 http://oshiete1.goo.ne.jp/qa2861527.html 例えば、 <Files ~ "^\.(jpg|JPG)$"> allow from all </Files> としても、他のファイルを表示(もしくはアクセス)することが出来てしまいます。 jpgは表示OKで、その他のファイルはNGとしたいのですが、NGのファイルも全て別途NG指定する必要があるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでどうでしょう <Files ~ "(?<!(jpg|JPG))\..*$"> deny from all </Files> (?<!正規表現) の部分は「戻り読み」と言って、正規表現の最後の部分がこれにマッチしなければ、と言う意味になります つまりここでは、「\..*$」(拡張子の最後の部分)が、「(?<!(jpg|JPG))」(jpgかJPG)では無い と言う意味になります 多分 間違っている可能性があるのでググってみてください・・・ (ちなみに、このままだと「.sjpg」とかも無視してしまうかもしれません)
お礼
こんばんはwait0000さん。 早速やってみましたが、jpg も表示出来なくなってしまいました。 私も、もう少し探してみます。 何か可能性がありそうでしたら、教えて下さい。 ありがとうございました。
補足
「\..*$」→「\.*$」にすると、行けそうですね! 今テストしたところ、以下のようになりました。 jpg ○ gif × php × html × doc × lzh × 何故かrobots.txtは○(まあこれは愛嬌として) phpやhtmlを制限できましたので、とても助かりました。 ありがとうございました。