Codeigniter php framework URLs look like the above.
I’m surprised that apache maps this request to index.php at the server root. I expected it to interpret /index.php/abc/def as a file ‘abc’ in a directory /index.php/abc, and as a result a 404 Not Found (given that no such file exists).
Can anyone explain why index.php gets executed instead?
Is there a document that explains apaches ‘map request to resource’ strategy, that would explain the above observation?
Because when it looks in the root folder it sees index.php is a file not a folder, so it executes that file rather than looking inside it (if it was a directory) for the next element of the path.
The rest of the “path” then becomes an unconventional querystring of sorts