Tomasina
@Tomasina
Инженер-разработчик

Как в .htaccess перенаправить всех, кроме нескольких IP?

В интернете полно обратного — перенаправить всех, перенаправить по известным IP и др.
А мне нужно следующее:
-если IP (или подсеть, непринципиально) X или Y, то отдать index.php
-всем остальным отдать index.html или перенаправить на каталог /sorry/ (смотря что проще реализовать).
  • Вопрос задан
  • 9389 просмотров
Пригласить эксперта
Ответы на вопрос 7
IvanIlyasov
@IvanIlyasov
Познаю мир
Че, за два года так и не дали верный ответ???

Вот:
RewriteCond %{REMOTE_ADDR} !93.143.174.0 
RewriteRule ^index.php$ index.html [L,QSA]

В данном случае изначально адрес главной должен быть index.php. А если IP не соответствует, то перенаправляет на index.html

Если нужно указать несколько IP-адресов, используйте регулярное выражение вида: !^(93\.143\.174\.0|127\.111\.11\.111)
Ответ написан
Tomasina
@Tomasina Автор вопроса
Инженер-разработчик
попытка была, но не сработала:
RewriteCond %{REMOTE_ADDR} !^93.143.174.* RewriteRule ^(.*)$ index.html [R,L]
Ответ написан
vsespb
@vsespb
!^93.143.174.* — это же должен быть регэксп. попробуйте !^93\.143\.174\.
Ответ написан
grafomanych
@grafomanych
RewriteCond %{REMOTE_ADDR} !^(127).0.0.[0-9]+
RewriteRule ^(.*)$ index.html [L]
Ответ написан
Wott
@Wott
# это регэксп, так что подсеть можно только /24 /16 или перечислением RewriteCond %{REMOTE_ADDR} ^192\.168\.(1|2|3|4)\. RewriteRule . /index.php [S=1] # тут делаем то что нужно для всех остальных RewriteRule . /index.html
C помощью Skip флага можно сооружать любые условные конструкции, при этом в самом правиле делем условие на входящий урл, а если надо что-то вне урла, типа адреса — добавляем условия выше
Ответ написан
Wott
@Wott
сорри тег перепутал
# это регэксп, так что подсеть можно только /24 /16 или перечислением 
RewriteCond %{REMOTE_ADDR} ^192\.168\.(1|2|3|4)\. 
RewriteRule . /index.php [S=1] 
# тут делаем то что нужно для всех остальных 
RewriteRule . /index.html
Ответ написан
Tomasina
@Tomasina Автор вопроса
Инженер-разработчик
ошибка 500 вылетает
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Acme Crypto Corp Нижний Новгород
от 120 000 до 180 000 руб.
Acme Crypto Corp Нижний Новгород
от 150 000 до 250 000 руб.
Acme Crypto Corp Нижний Новгород
от 80 000 до 140 000 руб.
17 авг. 2018, в 23:00
5500 руб./за проект
17 авг. 2018, в 17:10
15000 руб./за проект