![1つのファイルのみにアクセスを許可する場合は、DirectoryIndex を使用します。](https://rvso.com/image/770120/1%E3%81%A4%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%81%BF%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%82%92%E8%A8%B1%E5%8F%AF%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81DirectoryIndex%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
.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