Website routing

How to fix a website redirect loop

A “too many redirects” error means two or more rules keep sending the browser between addresses. Identify the route before disabling security or rewriting website files.

SymptomAddresses redirect repeatedly
Usual causeCompeting redirect rules
Keep enabledHTTPS where possible

Do not disable HTTPS as the first fix

A loop is normally caused by conflicting rules, not by HTTPS itself. Removing the certificate or weakening security can create a second problem without resolving the first.

Note the two addresses involved

www and non-www
Two systems disagree about the preferred hostname.
HTTP and HTTPS
The application or proxy does not agree with the server about the secure connection.
Two different domains
Competing forwarding rules may point back to each other.
One WordPress path
A plugin, login rule or saved site URL may be responsible.

Test in a private browser window and record the exact starting URL and final error. Clearing cookies is useful after a fix, but cached data alone is not usually the underlying cause.

Check the preferred domain and forwarding settings

  1. Open My Services, choose the hosting service and log in to Plesk.
  2. Open Websites & Domains, then Hosting Settings.
  3. Review the preferred domain and permanent redirect options.
  4. Keep one deliberate canonical route. Do not configure Plesk to force www while the application forces non-www, or the reverse.
  5. Save and retest in a private window.

Check the saved site URLs and redirect plugins

  • WordPress Address and Site Address use the intended hostname and HTTPS state.
  • Only one plugin or server layer controls canonical redirects.
  • Cloud proxy or caching settings correctly identify HTTPS requests.
  • No maintenance, security or multilingual plugin redirects the same request back to itself.
WordPress redirect guide

Review `.htaccess`, web forwarding and proxies

Take a backup before editing `.htaccess`. Look for duplicate rewrite blocks, old-domain redirects and rules that force the opposite hostname. For a parked domain, check Web Forwarding and DNS in Domain Tools. If using an external proxy or CDN, check its SSL mode and redirect rules too.

A DNS A record does not itself perform an HTTP redirect, but it determines which server receives the request and therefore which redirect configuration is active.

Still caught in a loop?

Send the exact starting URL, the two addresses involved, when it began, recent changes, whether WordPress or a proxy is used, and a screenshot of the browser error. Do not send Plesk, WordPress or FTP passwords.

Ask the Hosting team

Was this answer helpful?

« Back