Редирект через htaccess при соблюдении двух условий

pxweb
На сайте с 06.10.2011
Offline
30
1424

Подскажите, пожалуйста, кто знает.

Необходимо сделать на другую страницу при соблюдении двух условий:

1. Пользователь заходит на конкретную страницу

2. IP адрес пользователя находится в заданном диапазоне ip адресов.

Делаю вот так, в результате получаю ошибку 500:

RewriteCond %{REMOTE_HOST} ^site.ru/info/page111

RewriteCond %{REMOTE_ADDR} "180\.156\.119\.[1-255]" [OR]

RewriteCond %{REMOTE_ADDR} "212\.67\.4\.[1-255]" [OR]

RewriteRule ^(.*)$ http://www.site.ru/context/page222

www.pxdesign.ru (http://www.pxdesign.ru)
IL
На сайте с 20.04.2007
Offline
435
#1

Так примерно. Может чего упустил.

RewriteCond %{REQUEST_URI} =/info/page111
RewriteCond %{REMOTE_ADDR} ^180\.156\.119 [OR]
RewriteCond %{REMOTE_ADDR} ^212\.67\.4\
RewriteRule ^(.*)$ http://www.pxdesign.ru/context/kg
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
pxweb
На сайте с 06.10.2011
Offline
30
#2

Спасибо! Не помогло. Пробовал разные вариации Вашего варианта. Результат - ошибка 500.

AllHostings
На сайте с 27.05.2013
Offline
26
#3
RewriteCond %{REMOTE_HOST} ^site.ru/info/page111
RewriteCond %{REMOTE_ADDR} ^180\.156\.119\.[1-254] [OR]
RewriteCond %{REMOTE_ADDR} ^212\.67\.4\.[1-254] [OR]
RewriteRule ^(.*)$ http://www.site.ru/context/page222

Вот так вроде

Официальный представитель AllHostings.ru Группа компаний "Инновационные ИТ Решения" Актуально => Тест Драйв (https://allhostings.ru/test-drayv)
siv1987
На сайте с 02.04.2009
Offline
427
#4
pxweb:
Результат - ошибка 500.

Можно попробовать посмотреть логи.

Скорее всего проблема в последнем бэкслэше из rewritecond

IL
На сайте с 20.04.2007
Offline
435
#5
siv1987:
Скорее всего проблема в последнем бэкслэше из rewritecond

Да, туда точку добавить надо.

RewriteCond %{REMOTE_ADDR} ^212\.67\.4\.
pxweb
На сайте с 06.10.2011
Offline
30
#6

Вот такая интересная картина получается. Пишу вот такой код:

RewriteCond %{REQUEST_URI} =/info/page111

RewriteCond %{REMOTE_ADDR} ^180\.156\.119\. [OR]

RewriteCond %{REMOTE_ADDR} ^212\.67\.4\ .

RewriteRule ^(.*)$ httр://www.site.ru/context/page222

Результат: при попытке зайти по адресу httр://www.site.ru/info/page111 получается ошибка 404.

Решил попробовать к первой строке добавить "/". Получилось вот так:

RewriteCond %{REQUEST_URI} =/info/page111/

Результат противоположный: при попытке зайти по адресу httр://www.site.ru/info/page111/ получается ошибка 404. Зато теперь без слэша ошибки не было, но все так же переадресации не было.

Ниже попробовал поставить вот такой код, который переадресовывает все адреса, оканчивающиеся на слэш, на без слэш:

RewriteCond %{HTTP_HOST} (.*)

RewriteCond %{REQUEST_URI} /$ [NC]

RewriteRule ^(.*)(/)$ $1 [L,R=301]

В результате получилось следующее:

При переходе по адресу httр://www.site.ru/info/page111 - открывается эта страница как для указанных в условии ip адресов, так и для всех остальных.

При переходе по адресу httр://www.site.ru/info/page111/ - для неуказанных в условии ip адресов открывается эта страница, только уже без слэша.

При переходе по адресу httр://www.site.ru/info/page111/ - для указанных в условии ip адресов происходит редирект на httр://www.site.ru/context/page222

IL
На сайте с 20.04.2007
Offline
435
#7

RewriteCond %{REQUEST_URI} ^/info/page111
pxweb
На сайте с 06.10.2011
Offline
30
#8
ivan-lev:
RewriteCond %{REQUEST_URI} ^/info/page111

При переходе по адресу httр://www.site.ru/info/page111 - открывается эта страница с ошибкой 404 как для указанных в условии ip адресов, так и для всех остальных.

При переходе по адресу httр://www.site.ru/info/page111/ - для указанных в условии ip адресов происходит редирект на httр://www.site.ru/context/page222, но с ошибкой 404

IL
На сайте с 20.04.2007
Offline
435
#9
pxweb:
но с ошибкой 404

context/page222 страница есть?

pxweb:
открывается эта страница с ошибкой 404

с остальными правилами согласовать. Выше по коду поднять.

siv1987
На сайте с 02.04.2009
Offline
427
#10

и про кэш не стоит забывать. Лучше добавлять какой нибудь левый уникальный параметр к ссылке чтобы ответ не кешировался

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий