Sanal ana makinemi Apache 2.4.7'de çok temel bir yapılandırma ile kurdum:
<VirtualHost *:80>
ServerName foo.example.com
DocumentRoot /var/www/html
DirectoryIndex index.php
FallbackResource /index.php
</VirtualHost>
Belge kökünün altında aşağıdaki yapıya sahibim:
/index.php
/help/readme.txt
İstekte bulunduğumda aşağıdaki sonuçları alıyorum:
/bla -> 200 OK
/help/ -> 404 Not Found
/help/a -> 200 OK
Görünüşe göre /help/
dizinin varlığı Apache'nin geri dönmesine neden oluyor 404
çünkü orada yok index.php
, ancak tüm isteklerin çağrılmasını /index.php
ve böylece bir 200 OK
yanıt vermesini bekliyorum .
Bunu kullanırken bir sorun olduğunu hatırlamıyorum mod_rewrite
, ancak FallbackResource
mümkünse kullanmayı tercih ederim . Bunu düzeltmenin bir yolu var mı?
Güncelleme
DirectoryIndex
Direktifi kaldırırsam çalışır , ancak bu beş saniyelik gecikme sorunlarından muzdariptir .
Güncelleme 3
Aşağıdaki test ortamını çalıştırıyorum; dizin yapısı aşağıdaki gibidir:
./htdocs
index.html
test/
bla.txt
./conf
httpd.conf
./logs
İçeriği httpd.conf
:
ServerName apache-bug.local
Listen 8085
DirectoryIndex disabled
DirectorySlash Off
<VirtualHost *:8085>
DocumentRoot /home/user/apache-bug/htdocs
FallbackResource /index.html
</VirtualHost>
Benim config.nice
içeriğim:
"./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" \
"$@"
Sunucuyu çalıştırmak için:
httpd -X -d /home/user/work/apache-bug/
/bla
?