3

ディレクトリ内のすべてのファイルを拒否したいのですが、index.php(デフォルトページとして)です。

このソリューションはほとんど機能します。

Deny from all
<Files index.php>
    Order Allow,Deny
    Allow from all
</Files>

唯一の問題:「upload / index.php」にアクセスできるようになりましたが、「/upload/」にはアクセスできません。htaccessでデフォルトページを許可するにはどうすればよいですか?

4

2 に答える 2

7

あなたの問題は、あなたがそれを理解しているかもしれないが、あなたがすべてのものを否定しているということです、そしてそれからURI'index.php'を許可しますが、URI'/'は許可しません-'/'がにリダイレクトされてもindex.phpの舞台裏では、まだ異なるURIであるため、許可する必要があります。

これを行う最も簡単な方法は、次のようにFilesMatchディレクティブを使用することです。

order allow,deny
<FilesMatch "^(index\.php)?$">
    allow from all
</FilesMatch>

正規表現^(index\.php)?$は「index.phpまたは何もない」という意味です。

于 2012-08-24T18:52:37.883 に答える
0

mod_rewriteを使用して、所有しているものを次のように置き換えることができます。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(index.php)?$
RewriteRul ^ - [L,F]
于 2012-08-24T18:51:16.460 に答える