Search code examples
apache.htaccessmod-rewriteurl-rewriting

Redirect based on Accept-Language


I need to honor the web browser's list of language preferences. Supported languages are English and French. For example: http_accept_language="jp-JP;fr;en-US;en" redirects to a directory called /French/. How can I do this with rewrite rules in my .htaccess file?


Solution

  • I wouldn’t use mod_rewrite for this but a more powerful language. Because Accept-Language is a list of weighted values (see quality value) and the occurrence of one of the identifiers does not mean that it’s preferred over another value (especially q=0 means not acceptable at all).

    As already said, use a more powerful language than mod_rewrite, parse the list of value and find the best match of preferred options and available options.