首页 > IT, 编程 > 通过设置.htaccess识别浏览器的语言重定向不同的页面

通过设置.htaccess识别浏览器的语言重定向不同的页面

2010年1月6日 发表评论 阅读评论

apache有一个强大的地址重写模块(Module mod_rewrite),这个模块的使用可以参照这里这里。你也可以在google搜索这些设置。功能比较多,可以说只有你想不到没有做不到。

这个模块的一般用法有如下几种:

1、这个模块一般都用于一些程序的框架对地址栏的重写。例如wordpress就用到这个模块对地址栏从写,实现固定连接。

2、根据用户访问的浏览器用户类型重定向到不同的页面,例如:如果用户使用手机访问的话重定向到wap页面等。

3、当网站目录结构发生该变的时候,使用rewirte可以解析旧有的连接跳转到新的连接。

现在我有一个想法就是想用mod_rewrite模块去判断用户的语言,根据用户浏览器的语言重定向到不同的页面静态页面。英文的用户跳转到英文的主页,中文的用户跳转到中文的主页。我在网上搜索了一番,发觉大家都习惯使用程序去判断用的语言再去跳转,或者在程序内根据用户语言输出不同的内容。经过不断搜索和尝试,最终我都发现如何设置mod_rewrite模块去做这个操作。

RewriteCond %{HTTP:Accept-Language} ^zh-cn.*$ [NC]
#RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^zh-cn
RewriteRule ^/?$ “http\:\/\/www\.goflytoday\.com\/airline2\/abc_chi\.htm” [R=301,L]

RewriteCond %{HTTP:Accept-Language} ^zh-cn.*$ [NC]

RewriteRule ^/?$  index_cn.htm [R=301,L]

上边的写法就可以了。RewriteCond %{HTTP:XXXXX} 这种写法可以根据http头做出很多的判断。并不只是限于下边几个参数
HTTP_USER_AGENT
HTTP_REFERER
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_ACCEPT

分类: IT, 编程 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.