HTTP/404 on Special:Upload when using POST
Christian Kujau <[email protected]> Sun, 4 May 2025 23:52:53 +0200 (CEST)
| Newsgroups | gmane.org.wikimedia.mediawiki |
|---|---|
| Message-ID | <[email protected]> |
Hello list,
for some reason I'm no longer able to use the upload function on my little
Mediawiki installation. I haven't uploaded things a while, and recently
updated to 1.43.1, and everything else appears to work quite well, except
uploads. So, I navigate to Special:Upload and in the Apache web server log
I can see (shortened, w/o IP adresses and user information):
"GET /wiki/Special:Upload HTTP/2.0" 200 5795 "-" "Mozilla...
Great, HTTP/200 looks good, and the "Upload file" page is being displayed,
and I click on "choose file" and select a .gif and the .gif is displayed
now displayed as a little preview in the "Source file" part of the Upload
page. But then I hit the "Upload file" at the bottom of the page and get a
"Not Found" message in my browser window. And the same Apache web server
log now has:
"POST /wiki/Special:Upload HTTP/2.0" 404 291 "https://foo.example.org/wiki/Special:Upload" "Mozilla...
So, GET works just fine, but POST produces a HTTP/404?
I've disabled mod_security, disabled all CSP and X-XSS-Protection etc.
headers too, but I'm at a loss on how to debug this further.
In my virtual host configuration of the Apache web server, the following
is included:
RewriteRule ^/wiki/(.+)?$ /mediawiki/index.php [L]
This worked quite well over the years, and I *was* able to upload stuff
before, and with that configuration too.
Attached below is my (shortened) LocalSettings.php (w/o some database
secrets and names).
Has anybody seen something like this before, and maybe even remembers
where to look to debug this?
Thank you,
Christian.
===== LocalSettings.php
$wgSitename = "foo";
$wgScriptPath = "/mediawiki"; # real path
$wgArticlePath = "/wiki/$1"; # virtual path
$wgUsePathInfo = true; # ?
$wgServer = "https://foo.example.org";
$wgEnotifUserTalk = true; # UPO
$wgEnotifWatchlist = true; # UPO
$wgEmailAuthentication = true;
$wgDBtype = "mysql";
$wgDBserver = "127.0.0.1";
$wgDBname = "foo";
$wgDBuser = "foo";
$wgDBpassword = "xxxx";
$wgDBprefix = "";
$wgMainCacheType = CACHE_ACCEL;
$wgCachePages = true;
$wgParserCacheExpireTime = 604800;
$wgUseFileCache = true;
$wgEnableSidebarCache = true;
$wgShowIPinHeader = false;
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
$wgShellLocale = "en_US.utf8";
$wgCacheDirectory = "$IP/cache";
$wgFileCacheDirectory = "$wgCacheDirectory/html";
$wgLanguageCode = "en";
$wgSecretKey = "xxxx";
$wgUpgradeKey = "xxx";
$wgDefaultSkin = "Vector";
$wgDiff3 = "/usr/bin/diff3";
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgNoFollowLinks = false;
$wgNamespacesWithSubpages[NS_MAIN] = true;
$wgAllowExternalImages = true;
$wgAllowCopyUploads = true;
$wgCopyUploadsFromSpecialUpload = true;
$wgFileExtensions = array_merge($wgFileExtensions, array( 'pdf', 'txt', 'gz', 'bz2', 'deb', 'zip', 'svg', 'diff', 'json' ));
$wgVerifyMimeType = false;
$wgDisableUploadScriptChecks = true;
$wgExtraNamespaces = array(
$wgNamespacesWithSubpages[NS_FOO] = true;
$wgNamespacesWithSubpages[NS_FOO] = true;
$wgShowExceptionDetails = true;
$wgDevelopmentWarnings = true;
$wgSitemapNamespaces = array( 0, 4, 12 );
$wgAllowTitlesInSVG = true;
$wgSVGConverter = 'ImageMagick';
wfLoadSkin('Vector');
wfLoadSkin('MinervaNeue');
wfLoadSkin('Timeless');
--
BOFH excuse #308:
CD-ROM server needs recalibration