使用mod_rewrite进行语言重定向

ada*_*rie 3 .htaccess mod-rewrite redirect

我有一个提供7种语言的网站.

我希望只有在用户访问主页时才能基于浏览器语言重定向用户.这是为了增加有机交通的可用性.我需要此重定向仅应用于主页,因为该站点还发送特定于每种语言的邮件程序,如果用户被重定向,它们将无法工作.

每种语言也是一个子域.即www.site.com for English和de.site.com for German.邮件程序URL类似于:www.site.com/home/login?query=string

如果可能的话,我想用.htaccess文件来做这件事.

有人能提供见解吗?

谢谢.

Riz*_*rif 7

由于您只想在主页上重定向,您可以这样做(假设www.xyz.com是您的主页)

RewriteCond %{HTTP:HOST} www.xyz.com  // user visiting default
RewriteCond %{HTTP:Accept-Language} ^de [NC] // browser language German
RewriteRule ^$ de.xyz.com [L,R=301] // R=302 if you need temporary redirect
Run Code Online (Sandbox Code Playgroud)

http://tech-blog.borychowski.com/index.php/2009/03/htaccess/redirect-according-to-browser-language-mod-rewrite-and-http_accept_language/