Ho impostato il mio host virtuale su Apache 2.4.7 con una configurazione molto semplice:
<VirtualHost *:80>
ServerName foo.example.com
DocumentRoot /var/www/html
DirectoryIndex index.php
FallbackResource /index.php
</VirtualHost>
Sotto la radice del documento ho la seguente struttura:
/index.php
/help/readme.txt
Ottengo i seguenti risultati quando faccio le richieste:
/bla -> 200 OK
/help/ -> 404 Not Found
/help/a -> 200 OK
Sembra che l'esistenza della /help/
directory stia causando la restituzione di Apache 404
perché non c'è index.php
dentro, ma mi aspetto che tutte le richieste vengano invocate /index.php
e quindi producano una 200 OK
risposta.
Non ricordo che questo sia un problema durante l'utilizzo mod_rewrite
, ma preferisco usare FallbackResource
se possibile. C'è un modo per risolvere questo problema?
Aggiornare
Funziona se rimuovo la DirectoryIndex
direttiva, ma soffre di problemi di ritardo di cinque secondi .
Aggiornamento 3
Sto eseguendo il seguente ambiente di test; la struttura delle directory è la seguente:
./htdocs
index.html
test/
bla.txt
./conf
httpd.conf
./logs
Il contenuto di httpd.conf
è:
ServerName apache-bug.local
Listen 8085
DirectoryIndex disabled
DirectorySlash Off
<VirtualHost *:8085>
DocumentRoot /home/user/apache-bug/htdocs
FallbackResource /index.html
</VirtualHost>
Il mio config.nice
contiene:
"./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" \
"$@"
Per eseguire il server:
httpd -X -d /home/user/work/apache-bug/
/bla
?