At One Place

HTTP 506 — Variant Also Negotiates

HTTP 506
Variant Also Negotiates
A content negotiation misconfiguration: the chosen variant is itself a negotiating resource, so the server loops.

What 506 actually means

From the transparent content negotiation extension. The server picked a variant to serve, but that variant is configured to negotiate too, which would recurse forever — so it stops and reports the configuration error instead. It is a server misconfiguration by definition, and vanishingly rare outside Apache setups that use type maps.

Common causes

  • An Apache type map pointing at another negotiable resource
  • A circular content negotiation configuration
  • A misconfigured `MultiViews` setup

If you're just trying to view the page

  1. Nothing — this is a configuration fault on the server
  2. Report the URL to the site owner

If it's your site

  1. Check your Apache type maps (`.var` files) — a variant must be a concrete resource, not another negotiable one
  2. Review `MultiViews` and `Options` settings for the affected directory
  3. Consider dropping transparent content negotiation entirely in favour of `Accept`-header handling in the application

Reference

Status code
506
Reason phrase
Variant Also Negotiates
Category
5xx — Server Error
Cacheable by default
No
Defined in
RFC 2295 §8.1

Common questions

What does HTTP 506 mean?
A content negotiation misconfiguration: the chosen variant is itself a negotiating resource, so the server loops. From the transparent content negotiation extension. The server picked a variant to serve, but that variant is configured to negotiate too, which would recurse forever — so it stops and reports the configuration error instead.
How do I fix a 506 error?
Nothing — this is a configuration fault on the server
Is 506 a client error or a server error?
506 is in the 5xx range, which means server error. The request was acceptable but the server could not fulfil it, so retrying later can succeed.

Related pages

Sources

  1. Hypertext Transfer Protocol (HTTP) Status Code Registry — IANA
  2. RFC 9110: HTTP Semantics — IETF

How these figures are compiled and checked