Saya telah mengatur host virtual saya di Apache 2.4.7 dengan konfigurasi yang sangat mendasar:
<VirtualHost *:80>
ServerName foo.example.com
DocumentRoot /var/www/html
DirectoryIndex index.php
FallbackResource /index.php
</VirtualHost>
Di bawah root dokumen saya memiliki struktur berikut:
/index.php
/help/readme.txt
Saya mendapatkan hasil berikut ketika saya membuat permintaan:
/bla -> 200 OK
/help/ -> 404 Not Found
/help/a -> 200 OK
Tampaknya keberadaan /help/
direktori menyebabkan Apache untuk kembali 404
karena tidak ada index.php
di sana, tapi saya berharap semua permintaan untuk memanggil /index.php
dan dengan demikian menghasilkan 200 OK
respons.
Saya tidak ingat ini menjadi masalah saat menggunakan mod_rewrite
, tapi saya lebih suka menggunakan FallbackResource
jika memungkinkan. Apakah ada cara untuk memperbaikinya?
Memperbarui
Ini berfungsi jika saya menghapus DirectoryIndex
arahan, tetapi itu menderita masalah keterlambatan lima detik .
Perbarui 3
Saya menjalankan lingkungan pengujian berikut; struktur direktori adalah sebagai berikut:
./htdocs
index.html
test/
bla.txt
./conf
httpd.conf
./logs
Isinya httpd.conf
adalah:
ServerName apache-bug.local
Listen 8085
DirectoryIndex disabled
DirectorySlash Off
<VirtualHost *:8085>
DocumentRoot /home/user/apache-bug/htdocs
FallbackResource /index.html
</VirtualHost>
Saya config.nice
mengandung:
"./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" \
"$@"
Untuk menjalankan server:
httpd -X -d /home/user/work/apache-bug/
/bla
?