HTTP 4xx
406 Not Acceptable
The server cannot produce a response matching the Accept headers the client sent. In practice it is far more often a web application firewall (ModSecurity, a hosting panel rule) rejecting a request it judged suspicious, since 406 is the default status for a ModSecurity denial.
What causes it
- An Accept, Accept-Language or Accept-Encoding header the server cannot satisfy, or a WAF rule matching the request: a bot or scanner user agent, a payload that looks like SQL or script injection, a blocked IP or region.
How to fix it
Send Accept headers the server can honor, typically Accept: */*. If the content is fine in a browser and 406 appears only from scripts, monitors or certain regions, check the WAF log (ModSecurity audit log, or the host's security panel) and allowlist the client or relax the rule.
Example response
A typical raw HTTP response a client receives for a 406, with the headers this code is defined around.
HTTP/1.1 406 Not Acceptable
Content-Type: text/html; charset=utf-8Related codes
Know before your visitors do.
Sentinel checks your site around the clock from multiple regions and alerts you the moment it starts returning a 4xx error, so you can fix it before it costs you.