Typically when you go to reputation league, the url looks something like https://stackexchange.com/leagues/{id}/{site} or https://stackexchange.com/leagues/week/{id}/{site}, etc. The link contains some numerical value followed by site name, for example https://stackexchange.com/leagues/1/stackoverflow.

Since those numerical ids of sites can be changed, when posting a link to some information league, the links of the form https://stackexchange.com/leagues/{site} might be preferable. And they indeed work (you get redirected to a longer url including the "id"), some examples: Stack Overflow, Super User, Arqade, English, Ask Different, Server Fault,... However, the shorter version does not work for MathOverflow - you need to you a longer url which includes the numerical value - which is currently 504.

Question. Why the "shorter" link does not work on some sites? Is MathOverflow the only site where the shorter link does not work?


Try this: https://stackexchange.com/leagues/mathoverflow.net

The "site name" parameter is actually the host name - so Super User is https://stackexchange.com/leagues/superuser.com, English is https://stackexchange.com/leagues/english.stackexchange.com, etc. But that's verbose, so the route accepts shorter names and tries to guess the rest of the host name:

return SiteByHost(sitename) 
    ?? SiteByHost(sitename + ".stackexchange.com") 
    ?? SiteByHost(sitename + ".com");

Ah... But MathOverflow's host is mathoverflow.net - and since no other sites have a .net host, nobody thought to try completing the partial name with ".net". Thus, to get to MathOverflow's league, you must specify the entire host name.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .