AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] 如何限制指定浏览器语言和指定时区的访问 |
|
---|---|
seovery |
seovery 发表于 2013-07-10 17:04:12
网站想限制指定浏览器语言和时区访问,应该如何写nginx的conf文件或者apache的htacces文件?请高手帮忙。
比如: 指定浏览器语言:日文 指定时区:9时区
点赞,加油! (0分)
2013-07-10 17:04:12 1
|
amysql |
可以根据Nginx的$http_accept_language变量
判断。或也可以在程序上做判断。
回复
2013-07-10 17:19:02 2
AMH面板 - 好用高效低占用、安全可靠极稳定 |
seovery |
只希望用 nginx conf版本的,可以全局控制, 语言的是怎么样写的吧 if ( $http_accept_language ~* ^[^ja]) { return 404; #非日文用户访问网站返回404 } 时区的应该怎么写呢?
回复
2013-07-10 17:21:47 3
|
amysql |
回复
2013-07-10 22:27:11 4
|
seovery |
没有找到时区的获取方法 js的方法有: //Time Zone function calcTime(city, offset) { d = new Date(); utc = d.getTime() + (d.getTimezoneOffset() * 60000); nd = new Date(utc + (3600000 * offset)); if (d.toLocaleString() == nd.toLocaleString()) { window.location.href = "http://www.google.com"; } return "The local time in " + city + " is " + nd.toLocaleString(); } calcTime('Singapore', '+8');
回复
2013-07-10 22:54:50 5
|
amysql |
JS是客户端了。
回复
2013-07-10 23:02:10 6
|
来自未来的家伙 |
if ( $http_accept_language ~* ^[^ja])
{ return 404; #非日文用户访问网站返回404 } 学习了,我一直都是用php <?php error_reporting(E_ALL ^ E_NOTICE); preg_match('/^([a-zA-Z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches); $lang = $matches[1]; switch ($lang) { case 'zh-CN' : case 'zh-cn' : case 'zh-TW' : case 'zh-tw' : header("HTTP/1.1 301 Moved Permanently"); header('Location:http://amysql.com'); break; ?> 而且不会用正则。。。只能一个个写。。。
回复
2013-07-11 15:20:01 7
|
来自未来的家伙 |
有一种说法是用geo获取ip然后用ip判断地理位置,地理位置获取时区。思路应该不错。
回复
2013-07-11 15:27:21 8
|
amysql |
回复
2013-07-11 15:33:52 9
|
来自未来的家伙 |
http://www.php.net/manual/en/function.geoip-time-zone-by-country-and-region.php 这个方法应该算直接了,但是是php的没用到nginx。
回复
2013-07-11 15:55:03 10
|