Je ne pense pas que ça servira a grand chose d'ajouter un index.html ou .php dans ces dossiers. ils ne sont pas destinés à être accessibles enfait.
c'est la redirection des requêtes qui n'est pas gérée correctement.
essai d'ajouter ça en toute première ligne du .htaccess:
DirectoryIndex index.php
voici une version améliorée et testée chez moi (bien que j'avais pas ce bug).
<IfModule mod_rewrite.c>
# compat Apache 2.2/2.4 front-controller
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
# bloquer tpl/json/ini/env (2.2 et 2.4)
<FilesMatch "\.(json|tpl|ini|env)$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</FilesMatch>
# pas de listing
Options -Indexes
# si ni fichier ni dossier
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# tout vers index.php
RewriteRule ^.*$ index.php [L,QSA]
</IfModule>
Si ça fonctionne = C'est a cause de Debian si j'ai bien compris .
Sur Debian avec Apache 2.4.62, par défaut il n’y a pas de FallbackResource, et notre .htaccess ne teste que l’absence de fichier (!-f), pas de dossier (!-d). Apache voit donc /admin/ comme un dossier réel, passe la condition !-f et devrait réécrire vers index.php. Mais mod_dir intervient avant le RewriteRule : faute de fichier index.* dans admin/ et avec nos Options -Indexes, il renvoie un 403 Forbidden.