On 12/10/2010 03:47 AM, Ilmari Karonen wrote:
On 12/10/2010 12:39 AM, Brion Vibber wrote:
As Bryan noted, it looks like what's happening is that your system has $wgScriptPath and $wgArticlePath pointing at the same place. Your rewrite rules at the web server level are excluding files such as api.php, but MediaWiki doesn't know about that exclusion; it sees an incoming URL in the $wgArticlePath space and ends up thinking it has an article title that it needs to extract.
Try setting $wgUsePathInfo = false in your LocalSettings.php. This should bypass these checks, and will avoid interfering with your input variables.
Of course this requires that your rewrite rules in the web server are using the title query string parameter, not appending it to the path.
This must be a relatively recent[1] regression: I use a similar setup on my wiki, and it worked just fine until I upgraded to svn trunk HEAD recently. It also seems to be only affecting api.php; normal requests work just fine.
Officially supported or not, I vote we fix it.
[1] "Relatively recent" here meaning since the 1.16 branch or so.
OK, it seems I was mistaken, this was an old bug. Not sure why I hadn't noticed it before. Here's a report from 2008:
https://bugzilla.wikimedia.org/show_bug.cgi?id=16019
Anyway, it turned out to be easy enough to fix, as I've done in r78209. The patch is simple enough that it should probably apply cleanly to old MW versions too.