@rainwarrior Your theory is pretty much correct. I don't maintain the site any longer, but when I did, pretty sure that was the exact situation. It's just a configuration redirect that needs to be modified to retain the URI scheme (see below).
To be clear, the way the redirections work is as follows -- there are actually two redirects involved, but it happens fairly quickly so you don't notice it:
http://wiki.nesdev.com/ --> HTTP 302 -->
http://wiki.nesdev.com/w/ --> HTTP 302 -->
https://wiki.nesdev.com/w/index.php/Nesdev_Wikihttps://wiki.nesdev.com/ --> HTTP 302 -->
http://wiki.nesdev.com/w/ --> same as above
The stuff under
/w/ is all MediaWiki; that's just how the site was set up long ago.
@unregistered -- As for .htaccess -- I do not know if the server running the site and wiki still uses Apache. It did when I helped maintain it and had shell access, but BootGod revamped things heavily (there's now an intermediary proxy running nginx that inserts ads and other stuff), so I dunno if Apache is still involved or if he switched the back-end to nginx+php-fpm. If it's using nginx+php-fpm: nginx does not have .htaccess support, and such redirections have to be done in the nginx configuration natively by the systems administrator. If it is still using Apache, then it's either an httpd.conf redirection, an .htaccess redirection either through one of mod_alias's
Redirect* directives or through mod_rewrite's
Rewrite* directives (the latter are more CPU intensive and complicated and shouldn't be needed to retain URI scheme), possibly done in PHP, etc... Just too many situations to cover. I can't remember if the site used mod_alias or mod_rewrite directives.
In other words, in Apache-speak, all you really need to do is something like this for the wiki.nesdev.com VirtualHost using mod_alias and the URI scheme gets retained regardless of which you use, since the destination of the redirect isn't a full URI thus "path relative":
Code:
RedirectMatch "^/?$" "/w/"
Most people end up writing awful redirection directives (especially in mod_rewrite) that complicate matters greatly. Less = better. If I still maintained the server/etc. this is literally a 10 second task, heh. :)