The link in question
https://www.freecodecamp.org/learn/apis-and-microservices/basic-node-and-express/use-the-.env-file
Looks like this:

It works just fine if you click it from the challenge list from /learn. I'm guessing it is a route issue or something?
Looks like this behavior is present for some other links too -
Yep, I think it's all links with .s in. It's also not just .org, .dev has the problem too:
https://www.freecodecamp.dev/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do...while-loops
This is because https://github.com/zeit/serve is unable to parse and get to the correct file. We could add NGINX maps in front of it, but I am not a huge fan of such a solution.
Here is the config if you are interested, but essentially serving the www directory where our client files (built) are dumped by the pipeline.
@raisedadead, @ojeytonwilliams was able to fix it locally by making a serve.json file in the public directory using the config you shared above and serving it using zeit serve.
I am not sure where we are using the config to serve client on azure, but would it be possible that the config is not getting applied or it is getting overwritten?
I am not sure where we are using the config to serve client on azure, but would it be possible that the config is not getting applied or it is getting overwritten?
You mean the VM, hosting the PM2 processes. Yes it has a config and it is version controlled as well like I pointed earlier. The config should be one dir up the client web root.
Any progess on this. This is a huge bug. When people post a link to these challenges on the forum, we can not go to the challenge. Instead, we have to open up the learn site, find the curriculum section and click on the challenge manually.
Thanks
was able to fix it locally by making a serve.json file in the public directory using the config you shared above and serving it using zeit serve.
Please share the config. Or make a PR in the repo for review.
Fix deployed to production.