I want to redirect users based on browser language, I figured out how to do this here, it works fine, here is the code(PHP):
if(preg_match('/en-US/', $_SERVER['HTTP_USER_AGENT'])) header("location:index.php"); else header("location:http://cn.gearor.com");
The problem is I only want to redirect users from other websites or at the first visit to my website. Which means I don't want users reading some pages of my website, when they go back to index, they were redirect to other page. And I also have a link in my website, like: English or Chinese, when users click English from a Chinese page, they will go to index.php and been redirect back to Chinese page, it makes users can't visit the English page. How do I fix this in PHP or JavaScript?
views:
238answers:
2
+3
A:
You can set a session variable like $_SESSION['lang'] and only apply the above code if $_SESSION['lang'] is not set. what I mean is:
if(!isset($_SESSION['lang'])){
if(preg_match('/en-US/', $_SERVER['HTTP_USER_AGENT'])){
$_SESSION['lang'] = 'en';
header("location:index.php");
}else{
$_SESSION['lang'] = 'other';
header("location:http://cn.gearor.com");
}
}
Sinan
2010-02-28 19:09:21
Thanks Sinan, this is what I am looking for. But when I put your code into my website, I got an error of unexpected '{' in header.php in line 1. I am using Wordpress, I put the code in the very beginning of my theme before the "<!DOCTYPE html ...". Do I miss anything?
Zack
2010-03-01 02:34:29
A:
Well it was hard to understant what you are saying, if you can reclarifiy a bit, but here is what I think you were asking for, Pastebin.
Dr Hydralisk
2010-02-28 19:17:02