Quantcast
Viewing all articles
Browse latest Browse all 3

Use FallbackResource even if directory exists

I've set up my virtual host on Apache 2.4.7 with a very basic configuration:

<VirtualHost *:80>  ServerName foo.example.com  DocumentRoot /var/www/html  DirectoryIndex index.php  FallbackResource /index.php</VirtualHost>

Underneath the document root I have the following structure:

/index.php/help/readme.txt

I get the following results when I make requests:

/bla     -> 200 OK/help/   -> 404 Not Found/help/a  -> 200 OK

It seems that the existence of the /help/ directory is causing Apache to return 404 because there's no index.php in there, but I expect all requests to invoke /index.php and thus yield a 200 OK response.

I don't remember this being a problem when using mod_rewrite, but I prefer using FallbackResource if possible. Is there a way to fix this?

Update

It works if I remove the DirectoryIndex directive, but that suffers from five second delay issues.

Update 3

I'm running the following test environment; the directory structure is as follows:

./htdocs   index.html   test/      bla.txt./conf   httpd.conf./logs

The contents of httpd.conf is:

ServerName apache-bug.localListen 8085DirectoryIndex disabledDirectorySlash Off<VirtualHost *:8085>DocumentRoot /home/user/apache-bug/htdocsFallbackResource /index.html</VirtualHost>

My config.nice contains:

"./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" \"$@"

To run the server:

httpd -X -d /home/user/work/apache-bug/

Viewing all articles
Browse latest Browse all 3

Trending Articles