J'ai installé mon hôte virtuel sur Apache 2.4.7 avec une configuration très basique:
<VirtualHost *:80>
  ServerName foo.example.com
  DocumentRoot /var/www/html
  DirectoryIndex index.php
  FallbackResource /index.php
</VirtualHost>
Sous la racine du document, j'ai la structure suivante:
/index.php
/help/readme.txt
J'obtiens les résultats suivants lorsque je fais des demandes:
/bla     -> 200 OK
/help/   -> 404 Not Found
/help/a  -> 200 OK
Il semble que l'existence du /help/répertoire provoque le retour d'Apache 404car il n'y index.phpen a pas, mais je m'attends à ce que toutes les demandes soient invoquées /index.phpet donnent donc une 200 OKréponse.
Je ne me souviens pas que ce soit un problème lors de l'utilisation mod_rewrite, mais je préfère utiliser FallbackResourcesi possible. Y'a t'il un moyen d'arranger cela?
Mettre à jour
Cela fonctionne si je supprime la DirectoryIndexdirective, mais cela souffre de problèmes de retard de cinq secondes .
Mise à jour 3
J'exécute l'environnement de test suivant; la structure du répertoire est la suivante:
./htdocs
   index.html
   test/
      bla.txt
./conf
   httpd.conf
./logs
Le contenu de httpd.confest:
ServerName apache-bug.local
Listen 8085
DirectoryIndex disabled
DirectorySlash Off
<VirtualHost *:8085>
DocumentRoot /home/user/apache-bug/htdocs
FallbackResource /index.html
</VirtualHost>
Mon config.nicecontient:
"./configure" \
"--enable-debugger-mode" \
"--with-apr=/usr/local/apr/bin/apr-1-config" \
"--enable-dir=static" \
"--with-mpm=prefork" \
"--enable-unixd=static" \
"--enable-authn-core=static" \
"--enable-authz-core=static" \
"$@"
Pour exécuter le serveur:
httpd -X -d /home/user/work/apache-bug/
/bla?