У меня есть сайт и он доступен в локальной сети и в глобальной сети. Нужен скрипт, который будет перенаправлять пользователей из локальной сети (192.168.* и 10.*) на одну страницу, а пользователей из интернета на другую страницу. Так как прописывать все Ip инетовские не возможно, то можно написать скрипт, чтоб Ip адреса с диапазаном 192.168.* и 10.* перенаправлялись на одну страницу, а все остальные Ip на другую. Кому не сложно выложите скрипт.
.htaccess ? Code: RewriteEngine on RewriteCond %{REMOTE_HOST} 192\.168 RewriteRule \.php$ http://www.site.ru/ [R=301,L]
PHP? PHP: <?php $ip=$_SERVER['REMOTE_ADDR']; if(strpos($ip,'192.168')===0 || strpos($ip,'10.')===0) header("Location: страница_для_локалки"); else header("Location: страница_для_остальных"); ?>
Не сработает, я всё правильно сделал. strpos('200.200.192.168','192.168')!=0 ни в коем случае, оно равно 8. Если же подстрока '192.168' или '10.' вообще не будут найдены в $ip, то strpos вернёт false, но и это учтено тройным сравнением с нулём. Кстати, strpos - самый быстрый способ, быстрее регулярок и substr.
PHP: <?php $ip = $_SERVER['REMOTE_ADDR']; if(substr($ip, 0, 8) == '192.168.' || substr($ip, 0, 3) == '10.') { header('Location: localnetwork.php'); } else { header('Location: globalnetwork.php'); } ?>