Troubleshooting
Fix website errors (404, 403, 429, 500, 503)
What each error page means on FiniteHost and how to fix it, from missing files to rate limits and PHP errors.
On this page
When a site shows an error instead of your page, the number tells you where to look. This guide covers the errors you are most likely to see on FiniteHost, in the order you are likely to meet them.
Before you start#
- Know your site's folder:
/sites/<domain>/public, for example/sites/acme.in/public. Everything insidepublicis your website. - Have an SFTP app connected. See Connect with SFTP.
- Check the site's state in Websites: it should be Ready. A site still Provisioning is being set up.
404 Not Found#
The server found no file for that address.
- Check the folder. Your files must be inside
/sites/acme.in/public, not in/sites/acme.inand not in a sub-folder such aspublic/mysite. A common mistake is uploading the folder instead of its contents. - Check the home page name. The server looks for
index.php, thenindex.html.Index.html,home.htmlorindex.htmare not found. - Check upper and lower case. The server is case-sensitive:
Logo.PNGandlogo.pngare different files. - For WordPress and other PHP apps with pretty links: any address that is not a real file is passed to
index.php, so 404s there come from the app itself. In WordPress, go to Settings → Permalinks and press Save once.
403 Forbidden#
The server refuses to show the address.
- No index file in a folder: opening
https://acme.in/photos/without anindex.htmlorindex.phpin it gives 403. Folder listings are switched off. - Hidden files: any path with a part starting with a dot (
.env,.git/,.htaccess) is blocked on purpose, so secrets are never exposed. Only/.well-known/is allowed. - Permissions: files uploaded over SFTP get the right permissions automatically. If you changed them by hand (for example
chmod 600), set files back to readable (640) and folders to750.
429 Too Many Requests#
The visitor, or a bot, sent requests faster than the limits allow. The limits are per visitor IP address:
| What | Limit |
|---|---|
| PHP pages | 20 a second, with short bursts up to 60 |
wp-login.php and xmlrpc.php | 6 a minute, short bursts up to 4 |
| Open connections | 40 at once |
Normal visitors never reach these. If you see 429:
- On the WordPress login: you or a password manager retried quickly. Wait a minute.
- On normal pages: a page that loads dozens of PHP URLs at once (for example an uncached AJAX-heavy theme or plugin), or an uptime checker set too aggressively. Reduce it, or add a caching plugin. Static files (images, CSS, JS) do not count towards the PHP limit.
500, 502 and 504 errors#
These come from PHP: your code failed, ran out of memory, or took too long.
- 500 Internal Server Error: a PHP error in your code or a plugin. Often appears right after an update.
- 502 Bad Gateway: PHP stopped while answering, often because it ran out of memory.
- 504 Gateway Timeout: the page took longer than allowed. A PHP request is stopped after 120 seconds.
How to find the cause:
- Turn on error logging. The PHP error log is on the server and is not shown in the panel yet. For WordPress, add these lines to
wp-config.phpabove "That's all, stop editing":
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);- Reload the failing page, then download
/sites/acme.in/public/wp-content/debug.logover SFTP and read the last lines. - Fix the named plugin or theme. Renaming its folder over SFTP (for example
plugins/slow-plugintoplugins/slow-plugin.off) turns it off. - Turn debugging off again (set
WP_DEBUGtofalse) and deletedebug.log.
For other PHP code, add ini_set('display_errors', '1'); error_reporting(E_ALL); at the top of the failing script while testing, and remove it afterwards.
Common causes: a plugin needing more memory than your plan's PHP memory limit (see PHP settings), a slow database query (see Fix database problems), or a long import that should run as a Python job instead.
503 and the "paused" page#
If every site on your plan shows a FiniteHost paused page, the plan has passed its paid-until date and its grace period, and is suspended. Your files, databases and mail are safe. Renew under Billing & plans and the sites come back within a minute or two. See Renewals and expiry.
The site shows old content#
- Images, CSS or JavaScript did not change: the CDN and browsers cache static files. Rename the file or add a version (
style.css?v=2) when you change it, and press Ctrl+F5. - A PHP page did not change: PHP pages are not cached by FiniteHost unless your app says so. Check your caching plugin and clear its cache.
- The domain shows your old host's site: DNS still points elsewhere. See Check your DNS.
What's next#
Was this helpful?
Still stuck?
Email support@finitehost.com with your subscription ID (it starts with t, shown on the panel's Dashboard) and what you tried. A person replies, usually within one business day.
Last updated 27 October 2026. Found something wrong? Tell support@finitehost.com.