Tôi đã thiết lập máy chủ ảo của mình trên Apache 2.4.7 với cấu hình rất cơ bản:
<VirtualHost *:80>
ServerName foo.example.com
DocumentRoot /var/www/html
DirectoryIndex index.php
FallbackResource /index.php
</VirtualHost>
Bên dưới gốc tài liệu tôi có cấu trúc như sau:
/index.php
/help/readme.txt
Tôi nhận được kết quả sau khi tôi yêu cầu:
/bla -> 200 OK
/help/ -> 404 Not Found
/help/a -> 200 OK
Có vẻ như sự tồn tại của /help/
thư mục đang khiến Apache quay trở lại 404
vì không có index.php
trong đó, nhưng tôi hy vọng tất cả các yêu cầu sẽ được gọi /index.php
và do đó mang lại 200 OK
phản hồi.
Tôi không nhớ đây là một vấn đề khi sử dụng mod_rewrite
, nhưng tôi thích sử dụng FallbackResource
nếu có thể. Có cách nào để sửa lỗi này?
Cập nhật
Nó hoạt động nếu tôi loại bỏ DirectoryIndex
chỉ thị, nhưng nó bị các vấn đề chậm trễ năm giây .
Cập nhật 3
Tôi đang chạy môi trường thử nghiệm sau; cấu trúc thư mục như sau:
./htdocs
index.html
test/
bla.txt
./conf
httpd.conf
./logs
Nội dung của httpd.conf
là:
ServerName apache-bug.local
Listen 8085
DirectoryIndex disabled
DirectorySlash Off
<VirtualHost *:8085>
DocumentRoot /home/user/apache-bug/htdocs
FallbackResource /index.html
</VirtualHost>
Của tôi config.nice
chứa:
"./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" \
"$@"
Để chạy máy chủ:
httpd -X -d /home/user/work/apache-bug/
/bla
?