Каким способом можно сделать так, чтобы когда пользователь заходит на сайт с помощью Internet Explorer, его "кидало" в папку /ie/ Когда через Opera в /op/ Когда через Firefox в/fx/ Если другой браузер, то например по умолчанию в /ie/
Только как пример. Ниже кусок кода из своего старого скрипта: PHP: <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("!(Opera[\s\d\./]+)!msi", $agent, $math)) { $agent = $math[1]; $mysqlAgent = "opera"; } elseif(preg_match("!(Firefox[\s\d\./]+)!msi", $agent, $math)) { $agent = $math[1]; $mysqlAgent = "firefox"; } elseif (preg_match("!MSIE([\s\d\./]+)!msi", $agent, $math)) { $agent = "Internet Explorer ".$math[1]; $mysqlAgent = "msie"; } elseif (preg_match("!(Konqueror[\s\d\./]+)!msi", $agent, $math)) { $agent = $math[1]; $mysqlAgent = "konqueror"; } elseif (preg_match("!(Iceweasel[\s\d\./]+)!msi", $agent, $math)) { $agent = $math[1]; $mysqlAgent = "iceweasel"; } elseif (preg_match("!(Lynx[\s\d\./]+)!msi", $agent, $math)) { $agent = $math[1]; $mysqlAgent = "lynx"; } elseif (preg_match("!(Netscape[\s\d\./]+)!msi", $agent, $math)) { $agent = $math[1]; $mysqlAgent = "netscape"; } elseif (preg_match("!(Safari[\s\d\./]+)!msi", $agent, $math)) { $agent = $math[1]; $mysqlAgent = "safari"; } $location = "/"; switch($mysqlAgent) { case "opera": $location .= "opera/";break; case "firefox": $location .= "firefox/";break; case "msie": $location .= "msie/";break; default: $location .= "msie/";break; } header('Location: '.$location); ?>
Сначала определяем User Agent PHP: $user_agent = getenv("HTTP_USER_AGENT"); Затем вот функция вытягивания из User Agent браузера ( список можно расширить... коды браузеров ищи сам) PHP: function detect_browser() { global $user_agent, $browser; if (strstr($user_agent, "Nav") || strstr($user_agent, "Netscape")) $browser = "Netscape"; elseif (strstr($user_agent, "Firefox")) $browser = "Firefox"; elseif (strstr($user_agent, "Lynx")) $browser = "Lynx"; elseif (strstr($user_agent, "Opera")) $browser = "Opera"; elseif (strstr($user_agent, "WebTV")) $browser = "WebTV"; elseif (strstr($user_agent, "Konqueror")) $browser = "Konqueror"; elseif (strstr($user_agent, "MSIE 6")) $browser = "Internet Explorer 6"; elseif (strstr($user_agent, "MSIE 7")) $browser = "Internet Explorer 7"; else $browser = "Other"; return 0; } ну и на последок вызываем функцию и делаем с определённым брауезом что нам нужно PHP: detect_browser(); if ($browser == "Internet Explorer 6") { header('Location: ./ie6/'); } по желанию фуннкуи. можешь убрать и замешать всё в единую кучу
Смотри Нормальный юзер агент оперы: Opera/10.00 (X11; Linux i686 ; U; en) Presto/2.2.0 Маскировка под лису: Mozilla/5.0 (X11; Linux i686 ; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 10.00 Маскировка под осла: Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686 ; en) Opera 10.00 Те при маскировки опера всегда себя дописывает в конец. И если прочекать лису раньше оперы, то скрипт будет думать, что клиент - лиса.