# Fixing 404 Not Found errors

> Your new website, or some of its pages, show "404 Not Found". Here's how to fix files in the wrong folder, broken WordPress permalinks and changed links.

Source: https://helpcenter.ruachost.com/getting-started/website-troubleshooting/fixing-404-not-found-errors/

**404 Not Found** means the server can't find the page at that address.

## Your whole new website shows 404

### Your files are in the wrong folder

Your main domain's website must be **directly inside `public_html`**, not in a folder inside it. Addon domains have their own folder, which you can see in cPanel under **Domains**.

In cPanel's **File Manager**, check that your `index.php` or `index.html` file is in the right folder. If you uploaded a zip file, check you extracted it, and that it didn't create an extra folder such as `public_html/mysite/`. See [Moving a website from a subfolder to the main domain](https://helpcenter.ruachost.com/cpanel/files/moving-a-website-from-a-subfolder-to-the-main-domain/).

### Your domain points somewhere else

If your domain still points to your old host, or to the wrong server, you'll see that server's 404 page. Check your nameservers and DNS. See [I registered a domain but my website isn't showing](https://helpcenter.ruachost.com/domains/guides/domain-registered-but-website-not-showing/).

You can view your website on our servers before your domain points here. See [Previewing your website before your domain points to Ruachost](https://helpcenter.ruachost.com/getting-started/website-troubleshooting/previewing-your-website/).

## Your home page works, but other pages show 404

This is almost always a WordPress permalink problem, often after moving a site.

1. Log in to WordPress and go to **Settings → Permalinks**.
2. Click **Save Changes** without changing anything. This rebuilds your `.htaccess` file.

If that doesn't work, check `.htaccess` in your website's folder contains the WordPress rules:

```apache
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
```

See [Configuring the WordPress permalink structure](https://helpcenter.ruachost.com/wordpress/guides/configuring-the-wordpress-permalink-structure/).

## One page or file shows 404

- **Check the address.** Addresses on our servers are case-sensitive: `About.html` and `about.html` are different files.
- **The page was moved or renamed.** Add a redirect from the old address to the new one in cPanel under **Domains → Redirects**, so visitors and search engines find it.
- **Images or files are missing.** See [Images not showing on my website](https://helpcenter.ruachost.com/getting-started/website-troubleshooting/images-not-showing/).

## Make your 404 page helpful

You can replace the plain 404 page with your own, with a link back to your home page. See [Creating custom error pages in cPanel](https://helpcenter.ruachost.com/cpanel/advanced/creating-custom-error-pages-in-cpanel/).

To find broken links on your site, see [Checking for broken links in your website](https://helpcenter.ruachost.com/developers/networking/checking-for-broken-links-in-your-website/).
