Ask coding questions

← Back to all posts
Custom 404
AgastyaSandhuja (172)

I know that these questions have probably been answered, but is there a way to make a custom 404 page?

Answered by Zavexeon (1159) [earned 5 cycles]
View Answer
Zavexeon (1159)

Like @Vandesm14 said, it's possible with Express/Node. Really any sort of server (Django, Rails, Sinatra) would have this capability.

Are you familiar with any server side programming? If so, what language? I could give an example.

duck132912 (210)

@Zavexeon can u gie example for nodejs?

CoolCoderSJ (507)

hey there,
Heres how i did it.

Things to know before u do this

  • It wouldn't be an HTML repl, rather a node.js repl
  • you need to use something to keep your node.js server running, I used Cron Jobs

1) Download your HTML repl as a zip and unzip it.
2) Make a new Node.js repl and upload the unzipped folder.
3) Rename that uploaded folder to public
4) At this point, make sure index.js , 404.html and (if u have one) are in root. All other files should be in /public, including 404.js, 404.css, and index.html.
5) Inside of index.js (The one in root. You should have 2 js indexes, one in /index.js and one in /public/index.js. The second one supports index.html, whereas the first one supports the server.) Enter this code

require("express")().use(require("express").static(__dirname + "/public")).use((_, res) => {
    res.status(404).sendFile(__dirname + "/404.html");

this should bring up your website.

Now we gotta keep the server alive

I used Cron Jobs
Once you login/signup, go to cronjobs. Make a new cron job. Enter your website domain in the first field. Unmark HTTP authentication. Set it to run every 1 minute. Save.


Note: Every time you wanna update the website, stop the repl and re run. if its not currently running, the website wont load.

This worked for me, and I hope it worked for you too. please upvote/mark this as correct If it did.

Vandesm14 (2643)

Not for HTML repls, but Express/Node repls have this capability.

ash15khng (712)

On it doesn't seem to be possible sadly. (If I'm wrong please correct me please thanks!)