For awhile we've supported automatic detection guessing if the webserver supports PATH_INFO and if so automatically using /index.php/$1 for the article path. I believe this even predates our better REQUEST_URI handling.
I'm considering the idea of dropping support for this automatic setup.
There are a few faults to this feature we have.
Firstly there are cases where it may break. And I don't mean simple graceful breakage. I mean it is possible for us to detect support incorrectly on a slightly misconfigured webserver setup and when that happens we outputs a fatal page telling the user they have to add some config to their LocalSettings.php in order to get their wiki to even work. So you can end up installing MediaWiki, following the "enter your wiki" link, and end up on a big white plaintext page telling you your wiki was broken from the start.
It can also cause problems when you change hosting. We detect this automatically based on whether the current server supports it. This isn't like short urls where the user sets up the configuration and practically every single server that exists will support configuring it. In this case because we auto-detect it if you move from a server setup that supports /index.php/Foo and then move to something using say FastCGI where it doesn't work by default all of a sudden your urls change. And not just change, every url that people have bookmarked becomes invalid.
And of course it creates a bit of a negative incentive. Because /index.php/Foo is so simple and works out of the box people lazily don't bother to setup proper short urls. The short url they have is only slightly shorter. It 'still' is hardwired to architectural facts like the filesystem and the fact we're using .php.
----
So I'm considering dropping this automatic feature. Making this change will mean that MediaWiki will start outputting /index.php?title=... style URLs for everyone who hasn't configured short urls.
A few important notes: - This will NOT break existing wikis. We may still leave the actual fallback PATH_INFO detection in place. And REQUEST_URI will always keep the implied /index.php/$1 inside the PathRouter. So even though we won't be outputting /index.php/Foo style urls if the wiki previously supported /index.php/Foo all those urls will still point to the pages. The links we output will just start using ?title=. - While we won't be doing anything automatic anymore anyone obsessed with having /index.php/Foo can still simply set `$wgArticlePath = "/index.php/$1";` if it works on their server.
----
What are peoples thoughts on this plan?