1つのファイルのみにアクセスを許可する場合は、DirectoryIndex を使用します。

1つのファイルのみにアクセスを許可する場合は、DirectoryIndex を使用します。

.htaccess 経由で index.php へのアクセスのみを許可したいと考えました。

DirectoryIndex index.php
Require all denied
<Files "/index.php">
    Require all granted
</Files>

それは動作しますが、ディレクトリのみを開くと、「403 Forbidden」と表示されます。DirectoryIndex を動作させるにはどうすればよいですか?

答え1

単なるアイデアですが:

おそらく、index.php 以外のすべてを別のディレクトリにリダイレクトして、そこで拒否するなど、より賢明な方法を実行できるでしょう。

DirectoryIndex index.php

RedirectMatch ^/(?!index\.php$|$)(.*) /test/$1

関連情報