Error map

AH00124: Request exceeded the limit of 10 internal redirects Apache: AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary

Nginx / Apache · layer 3, Edge & web server

Open the full error page →

Centre: this error. First ring: errors it is linked with (7). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

AH00124: Request exceeded the limit of 10 internal redirects — Apache: AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary (Nginx / Apache)AH00124: Re…404 except homepage — WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules) (WordPress)404 except homepageAH00558 — Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name (Nginx / Apache)AH00558AH00015: Unable to open logs — Apache: AH00091: apache2: could not open error log file /var/log/apache2/error.log. AH00015: Unable to open logs (Permission denied) (Nginx / Apache)AH00015: Unable to …rewrite or internal redirection cycle — Nginx: [error] rewrite or internal redirection cycle while internally redirecting to "/index.php" (500 Internal Server Error) (Nginx / Apache)rewrite or internal…AH00526: Syntax error on line of apache config — Apache: AH00526: Syntax error on line 12 of /etc/apache2/sites-enabled/site.conf: Invalid command 'Foo', perhaps misspelled or defined by a module not included in the server configuration (Nginx / Apache)AH00526: Syntax err….htaccess: Invalid command (500 Internal Server Error) — Apache: [core:alert] /var/www/html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration (Nginx / Apache).htaccess: Invalid …AH00037: Symbolic link not allowed or link target not accessible — Apache: [core:error] AH00037: Symbolic link not allowed or link target not accessible: /var/www/html/current (Nginx / Apache)AH00037: Symbolic l…403 — HTTP 403 Forbidden (HTTP)403404 — HTTP 404 Not Found (HTTP)404Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…413 — HTTP 413 Content Too Large (Request Entity Too Large) (HTTP)413redirect_uri_mismatch — OAuth Error: redirect_uri_mismatch (Authentication)redirect_uri_mismat…DB connection — WordPress: Error Establishing a Database Connection (WordPress)DB connection500 — HTTP 500 Internal Server Error (HTTP)500499 — HTTP 499 Client Closed Request (Nginx) (HTTP)499nodemon crashed — [nodemon] app crashed - waiting for file changes before starting... (Node.js)nodemon crashed404 on all routes except home (public folder / .htaccess) — Laravel on shared hosting: homepage works but every other route returns 404 Not Found (Laravel)404 on all routes e…nginx: client intended to send too large body — Nginx: [error] client intended to send too large body: 5242880 bytes (413 Request Entity Too Large) (Nginx / Apache)nginx: client inten…directory index of "/var/www/" is forbidden — Nginx: [error] directory index of "/var/www/html/" is forbidden (403 Forbidden) (Nginx / Apache)directory index of …Parse error — PHP Parse error: syntax error, unexpected … (PHP)Parse errorSSLCertificateFile: file does not exist — Apache: AH02240: Server should be SSL-aware but has no certificate configured / SSLCertificateFile: file '/etc/ssl/x.crt' does not exist or is empty (SSL / TLS)SSLCertificateFile:…AH01909: server certificate does NOT include an ID which matches the server name — Apache: [ssl:warn] AH01909: example.com:443:0 server certificate does NOT include an ID which matches the server name (SSL / TLS)AH01909: server cer…AH01630: client denied by server configuration — Apache: [authz_core:error] AH01630: client denied by server configuration: /var/www/html/ (Nginx / Apache)AH01630: client den…AH00072: make_sock: could not bind to address 0.0.0.0:80 — Apache: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 / AH00015: Unable to open logs (Nginx / Apache)AH00072: make_sock:…Too many levels of symbolic links — Too many levels of symbolic links (ELOOP) (Linux)Too many levels of …open() failed (13: Permission denied) — Nginx: [error] open() "/home/user/site/index.html" failed (13: Permission denied), 403 Forbidden (Nginx / Apache)open() failed (13: …AH00128: File does not exist — Apache: [core:info] AH00128: File does not exist: /var/www/html/favicon.ico (404) (Nginx / Apache)AH00128: File does …

Directly related (7)

404 except homepageWordPress

WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules)

Pretty permalinks aren’t being routed to index.php — .htaccess is missing/ignored (Apache) or Nginx lacks try_files.

AH00558Nginx / Apache

Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name

A harmless startup warning: Apache has no global ServerName, so it guessed one from the host’s IP.

AH00015: Unable to open logsNginx / Apache

Apache: AH00091: apache2: could not open error log file /var/log/apache2/error.log. AH00015: Unable to open logs (Permission denied)

Apache can't open its log files — permissions, a missing directory or disk problems.

rewrite or internal redirection cycleNginx / Apache

Nginx: [error] rewrite or internal redirection cycle while internally redirecting to "/index.php" (500 Internal Server Error)

Nginx kept internally redirecting (more than 10 times), typically from a `try_files` or `rewrite` that points back to itself.

AH00526: Syntax error on line of apache configNginx / Apache

Apache: AH00526: Syntax error on line 12 of /etc/apache2/sites-enabled/site.conf: Invalid command 'Foo', perhaps misspelled or defined by a module not included in the server configuration

Apache's config has a syntax problem or a directive from a module that isn't loaded.

.htaccess: Invalid command (500 Internal Server Error)Nginx / Apache

Apache: [core:alert] /var/www/html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration

A `.htaccess` file uses a directive the server can't handle, causing 500 errors for the whole directory.

AH00037: Symbolic link not allowed or link target not accessibleNginx / Apache

Apache: [core:error] AH00037: Symbolic link not allowed or link target not accessible: /var/www/html/current

Apache refuses to follow a symlink because `FollowSymLinks`/`SymLinksIfOwnerMatch` isn't allowed or the target isn't readable.

Two steps away (20)

403HTTP

HTTP 403 Forbidden

The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…

404HTTP

HTTP 404 Not Found

The server can’t find anything at the requested URL.

Primary script unknownPHP

FastCGI sent in stderr: "Primary script unknown"

Nginx passed a script path to PHP-FPM that PHP-FPM couldn’t find — usually a wrong SCRIPT_FILENAME or root.

413HTTP

HTTP 413 Content Too Large (Request Entity Too Large)

The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.

redirect_uri_mismatchAuthentication

OAuth Error: redirect_uri_mismatch

The redirect URI in your OAuth request doesn’t exactly match one registered for the client in the provider’s console.

DB connectionWordPress

WordPress: Error Establishing a Database Connection

WordPress can’t connect to its MySQL/MariaDB database with the credentials in wp-config.php, or the database server is down.

500HTTP

HTTP 500 Internal Server Error

The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.

499HTTP

HTTP 499 Client Closed Request (Nginx)

Nginx-specific code logged when the client disconnected before the server finished responding.

nodemon crashedNode.js

[nodemon] app crashed - waiting for file changes before starting...

Your app threw an error on startup; nodemon is waiting for a file change to retry.

404 on all routes except home (public folder / .htaccess)Laravel

Laravel on shared hosting: homepage works but every other route returns 404 Not Found

The web server isn't sending requests to `public/index.php`, so only the root path works — the rewrite rules aren't active.

nginx: client intended to send too large bodyNginx / Apache

Nginx: [error] client intended to send too large body: 5242880 bytes (413 Request Entity Too Large)

A request body exceeded `client_max_body_size` (default 1 MB), so Nginx returned 413 before reaching your app.

directory index of "/var/www/" is forbiddenNginx / Apache

Nginx: [error] directory index of "/var/www/html/" is forbidden (403 Forbidden)

A directory was requested but no index file exists (or index is wrong) and autoindex is off, so Nginx returns 403.

Parse errorPHP

PHP Parse error: syntax error, unexpected …

PHP can’t parse the file because of a syntax mistake — the real error is often on the line before the one reported.

SSLCertificateFile: file does not existSSL / TLS

Apache: AH02240: Server should be SSL-aware but has no certificate configured / SSLCertificateFile: file '/etc/ssl/x.crt' does not exist or is empty

Apache cannot find the certificate or key file named in its configuration, or `SSLEngine on` is set without any certificate.

AH01909: server certificate does NOT include an ID which matches the server nameSSL / TLS

Apache: [ssl:warn] AH01909: example.com:443:0 server certificate does NOT include an ID which matches the server name

Apache's SSL virtual host name does not match any name inside the certificate it loads.

AH01630: client denied by server configurationNginx / Apache

Apache: [authz_core:error] AH01630: client denied by server configuration: /var/www/html/

Apache 2.4 authorisation denied access to the directory (403) because no `Require all granted` applies.

AH00072: make_sock: could not bind to address 0.0.0.0:80Nginx / Apache

Apache: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 / AH00015: Unable to open logs

Another process (Nginx, another Apache, Skype/IIS-like service) already listens on the port Apache wants.

Too many levels of symbolic linksLinux

Too many levels of symbolic links (ELOOP)

A symlink points to itself, directly or through a chain, so path resolution loops.

open() failed (13: Permission denied)Nginx / Apache

Nginx: [error] open() "/home/user/site/index.html" failed (13: Permission denied), 403 Forbidden

The nginx worker user can't read the requested file or traverse a parent directory.

AH00128: File does not existNginx / Apache

Apache: [core:info] AH00128: File does not exist: /var/www/html/favicon.ico (404)

The requested file isn't in the DocumentRoot — a normal 404 entry in the Apache error log.