The HTTP 406 Not Acceptable error is a client error response code that occurs when the client side (like your web browser or own application) requests a resource, but the server sends back a response in a format that’s not among the acceptable values defined in the request.
This error can arise from mismatched request headers, corrupted core WordPress files, server misconfigurations, or even unexpected database changes from CMS dashboards, WordPress extensions, or updates to php code.
Whether you’re using WordPress, Joomla, or any content management system, resolving this error may involve reviewing server-side logs, checking the hosting account, reverting to previous versions, or restoring from automated backups.
In this guide, we’ll cover simple, actionable solutions to help you fix the 406 error and get your web application back on track.
What is HTTP 406 Not Acceptable Error?
The HTTP 406 Not Acceptable error is a client error response code from the set of standard HTTP response status codes.

It occurs when the server sends a response that doesn’t match any of the acceptable values specified in the request headers sent by the client side (like a browser or app). In simple terms, the requested resource exists, but the server side can’t deliver it in a format the client can process.
Unlike other client error responses like 404 (resource not found) or 403 (forbidden), or considered server error responses like 500 (internal server error), the 406 error is specific to content negotiation. It usually means the server can’t provide an appropriate representation based on the client’s request.
You might see this error during API calls, form submissions, or when using many WordPress extensions or plugins that modify how content is served. On common software packages and platforms, even the base CMS, it may appear under certain server side issues or configuration conflicts.
Discover: How to Fix Google Not Working Issues
What Causes the 406 Not Acceptable Error?
Several factors can trigger this HTTP error, often involving the negotiation between client and server. Key causes include:
- Mismatch in Accept headers: The server can’t deliver a resource in the format specified by the accept language, accept charset, or accept encoding headers.
- MIME type conflict: Requested and served content types don’t align.
- Mod_security rules: Strict server-side firewalls may block certain content types or patterns.
- User-agent restrictions: Some servers filter requests based on the client browser, such as Internet Explorer or specific bots.
- Custom .htaccess settings: Overly strict rules can interfere with the server’s ability to send data appropriately.
- Other extensions and plugins: Especially on WordPress, many WordPress extensions may alter headers or output, resulting in related errors.
We’ve personally encountered such issues when trying to modify database records, operate across specific domains, or when changes occur in common platforms via updates or misconfigurations.
Hit with an HTTP 406 Error? WPTasks Has You Covered!
Don’t waste time troubleshooting alone. Let our experts fix the error fast and get your site running smoothly again.
How to Diagnose the HTTP 406 Not Acceptable Error
Troubleshooting this client-side error involves inspecting both the request and the server response. Here’s how:
- Browser Developer Tools: Use the Network tab to examine the request included, especially the headers related to Accept, Accept-Language, Accept-Charset, and Accept-Encoding.
- Check Server Logs: Investigate your server side logs for potential fixes, look for any misconfigured MIME types or rules causing the error message.
- Replicate the Request: Use online tools like cURL, Postman, or header inspection services to simulate the request across the same network or a different wireless network to rule out ISP or local issues.
- Inspect MIME Types: Make sure the content types your server is delivering match those your app or browser accepts.
- Revert Alterations: If the error started after installing or updating a plugin or extension, roll back the changes or restore a full backup or manual backup if available.
- Review Other Components: Look at your theme, other extensions, and even php code for changes that may affect content negotiation.
If the issue persists across scenarios multiple times, even on bug free environments, it may be worth contacting your hosting provider to rule out broader server side causes.
Simple Solutions to Fix HTTP 406 Not Acceptable
Dealing with an HTTP 406 Not Acceptable error can be frustrating, but the good news is there are several simple and effective ways to resolve it.

Whether the issue lies in the client side or due to server side causes, the following steps can help you get your web application back on track.
Adjust Accept Headers in the Client Request
One of the most common reasons for a 406 error is a mismatch between what the client side is requesting and what the server sends in return. The client’s request typically includes headers like Accept, which tell the server what content types it can process, such as HTML, JSON, or XML.
If the requested resource isn’t available in a format the server can provide, it leads to this error. You can fix this by adjusting the request headers to include more broadly acceptable values. This ensures that the server has more flexibility in delivering content. This is especially useful in scenarios involving specific domains, different web browsers, or requests made over a wireless network.
Disable or Tweak mod_security Rules
Mod_security is a firewall module installed on many Apache servers to block malicious traffic. However, in such scenarios, it can mistakenly block valid requests that seem unusual, leading to client error responses like the 406 error.
To resolve this, you can either disable mod_security temporarily or tweak its rules. You may need to work with your hosting account provider to adjust these settings. Be cautious, though, turning off mod_security can expose your CMS dashboard, core WordPress files, and other components to vulnerabilities, so it should only be done with proper manual backups or automated backups in place.
Update the .htaccess File
The .htaccess file is used by many common software packages like WordPress to manage redirects, content negotiation, and MIME types. Sometimes, overly strict rules in this file can prevent the server from responding with the correct acceptable values, resulting in a 406 error.
By reviewing and updating the .htaccess file, you can ensure that it allows the correct content types and doesn’t block any valid request. If you’ve personally encountered this issue after recent changes or plugin updates, reverting the file to a previous version or cleaning up restrictive rules may help resolve the http error.
Check for Server-Side MIME Type Issues
Another potential issue lies in how the server handles MIME types, which define the type of data being sent (like plain text, JSON, or HTML). If the server is not properly configured to deliver the requested MIME types, the request may be rejected with a 406 error.
To fix this, make sure your server is set up to handle the types of files and formats your website or web application uses. In some cases, especially with common platforms or custom setups, the configuration may need to be updated. Problems with MIME types can occur after server changes, plugin installations, or unexpected database alterations.
Contact Hosting Provider or Server Admin
If the issue persists after trying the above steps, it may be time to reach out to your hosting provider or server administrator. This is especially important if you’ve exhausted all other potential fixes, or if the issue is affecting multiple sites on the same network.
When reaching out, provide detailed information, including the error message, any recent changes made to your site, and relevant data from your server side logs.
Also include details about the request included, such as the headers and content types involved. This will help them pinpoint whether the issue lies in the server configuration, php code, or any interaction between WordPress extensions or other extensions installed on your site.
These steps can help solve the 406 error and restore your site to a bug free state. Whether you’re working with even the base CMS, troubleshooting such problems across multiple scenarios, or simply ensuring everything works on different internet connections and browsers like Internet Explorer, these practical tips cover all the key areas to check.
Check Out: WordPress Management Guide
How to Prevent HTTP 406 Not Acceptable Errors in the Future
Preventing the HTTP 406 Not Acceptable error starts with understanding how content negotiation works between the client side and the server side. This error, a part of the considered client error responses category under the broader family of HTTP status codes, happens when the server is unable to deliver a response matching the client’s requirements defined in headers like Accept, Accept-Language, Accept-Encoding, and Accept-Ranges.
Here are a few practical ways to avoid such issues:
Use Proper Content Negotiation Practices
Ensure your web applications or APIs respond with formats that are widely accepted, like JSON, HTML, or XML. Avoid relying on strict or unusual content types unless absolutely necessary. If your application includes the Accept-Ranges or similar headers, confirm they serve the same purpose across browsers and devices.
Avoid Overly Strict Security Settings Without Testing
Security tools like mod_security, while helpful, can sometimes block legitimate requests and trigger client-side errors like 406. Always test these settings thoroughly before applying them across production environments. Such cases are common when working with shared hosting or custom .htaccess rules.
Regularly Test New Pages and Endpoints
When launching new pages, APIs, or features, test them under different conditions and across multiple devices, browsers, and user agents. This helps identify and fix content negotiation issues early. Tools like browser developer consoles or API testing platforms can help simulate different request headers and response matching scenarios.
Keep Server Configurations and CMS Up to Date
Running outdated web server configurations or older versions of your content management system can lead to compatibility issues and malformed headers. Stay current with updates to your CMS, WordPress extensions, or any server software to prevent future client error responses. This also ensures that settings related to accept ranges and MIME types are handled correctly.
Taking these steps not only prevents 406 errors but also improves site stability and performance for users accessing your requested resources from different locations and devices.
Final Thoughts
The HTTP 406 Not Acceptable error happens when the server can’t provide the content in a format the browser or app is asking for. It’s part of the client error responses group of HTTP status codes and usually shows up because of issues like incorrect headers, content types, or strict security rules.
Fixing it is often straightforward. You can adjust the request headers, update your server settings, review your .htaccess file, or contact your hosting provider if needed. These steps help ensure that your site delivers content correctly and avoids unnecessary errors.
To prevent this error in the future, always test changes in a staging environment before making them live. Whether you’re updating plugins, modifying server settings, or adding new features, testing first can save you from running into problems on your live site.
Lastly, don’t forget about the user experience. If an error does happen, a clear and friendly error message is much better than a blank screen or confusing code. It helps keep users on your site and improves your SEO.
With the right approach, you can fix the 406 error quickly and make your website more reliable and user-friendly.


