SetEnvIf REMOTE_ADDR 192.168.0.* REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /ip1.htm
ip1.htm лежит в корне, в папке htdocs
Обращаюсь с ИП адресов 192,168,0,35 и 192,168,0,100. Апач на 192,168,0,35. Все равно открывает index.htm
ппц..может какую мелочь упускаю..
Как я понимаю, в примере, который вы нашли, смысл такой: если IP адрес совпадает с шаблоном, то установить значение переменной REDIR="redir", затем если переменная REDIR равна "redir", то переделать URL. Какой-то странный пример. RewriteCond может сам на основе IP работать, вместо %{REDIR} надо указывать %{REMOTE_HOST}, зачем делать двойную работу с установкой переменной?
Попробуйте вот это:
RewriteCond %{REMOTE_HOST} 192.168.0.*
RewriteRule ^/$ /ip1.htmlБолее подробно можете почитать здесь:
http://httpd.apache.org/docs/2.2/rewrite/rewrite_intro.htmlВ вашем примере конкретно ошибка вот здесь:
вместо
RewriteCond %{REDIR} redirнадо
RewriteCond %{ENV:REDIR} redirИз-за чего ещё может не работать:
а) не включён модуль переписывания (LoadModule есть, а директивы RewriteEngine On нет);
б) если всё-таки решите сделать через SetEnvIf, то проверьте, загружен ли модуль `mod_setenvif.so'
б) если вы используете виртуальный хостинг, то настройки надо вписывать в тот виртуальный хост, в котором делается отсеивание по IP адресу при обращении.
P.S. Я рассказал для Apache 2.2 под Linux, в принципе для Windows то же самое всё, не должно быть отличий.