- 締切済み
.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するのは記述が汚くなるので避けたいです。 どのように記述したらよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hito-koto
- ベストアンサー率53% (14/26)
apache2が使える環境で試してみました。 (.htaccessでなく、configで試しています) ・ "*"を先に書く(後でマッチしたもの勝ちのように感じます) ・ Files ""でallowする。(index.htmlを省略せずに直接読むのなら不要) ・ 拡張正規表現をやめる(こちらの環境の問題。FilesMatchは未検証) で、希望通り動くことは動きましたが… ・ reloadとrestartで挙動が違う…ことがある 謎が深まっています。
- hito-koto
- ベストアンサー率53% (14/26)
参考URLによれば、「現れた順番に」となっているので、順番を逆にしてみてはいかがですか・・・? 試してもいないのに、コメントしてスミマセン。
補足
参考意見有難う御座います! 順番を逆にしても駄目でした。 なんででしょう。 因みにレンタルサーバ(ロリポップ)で、確認しています。
補足
回答有難うございます。 あれから色々試しましたが、まだうまくいきません。 継続して調べてみます。