Доступ с определенных IP адрессов

Статус
В этой теме нельзя размещать новые ответы.

CheburatoR-all

Гипножаба
Регистрация
26 Апр 2009
Сообщения
301
Реакции
448
Здравствуйте! ;) Требуется помощь. Нужно разрешить доступ к определенной директории (+дочерним) только определенным подсетям. Всех остальным показывать нотайс (не ошибку 404) или редиректить к определенной странице. ;)
 
Код:
RewriteEngine on
RewriteCond %{REMOTE_HOST} ^127\.0\.0
RewriteCond %{REQUEST_URI} !^(.*)Tools(.*)$
RewriteRule ^(.*)$ /notice.php [R=301,L]
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Код:
RewriteEngine on
RewriteCond %{REMOTE_HOST} ^127\.0\.0
RewriteCond %{REQUEST_URI} !^(.*)Tools(.*)$
RewriteRule ^(.*)$ /notice.php [R=301,L]
*** скрытое содержание ***
А если к примеру у нас три подсети 127.1 и 127.2 128.3
Код:
RewriteEngine on
RewriteCond %{REMOTE_HOST} ^(127|128)\.(1|2|3)
RewriteCond %{REQUEST_URI} !^(.*)Tools(.*)$
RewriteRule ^(.*)$ /notice.php [R=301,L]
Но тогда получается открывается подсеть 127.3 :confused:
UPD: Понял. Значит получается так?
Код:
RewriteEngine on
RewriteCond %{REMOTE_HOST} ^(127\.0|127\.1|128\.3)
RewriteCond %{REQUEST_URI} !^(.*)Tools(.*)$
RewriteRule ^(.*)$ /notice.php [R=301,L]

И еще, что за строка RewriteCond %{REQUEST_URI} !^(.*)Tools(.*)$? Эт чтоль проверка по реферу?
 
И еще, что за строка RewriteCond %{REQUEST_URI} !^(.*)Tools(.*)$? Эт чтоль проверка по реферу?
Не, это директория к которой есть доступ с нужных IP. Если выполнено условие в первом RewriteCond то идёт на эту строку; в принципе надо так:
Код:
RewriteCond %{REQUEST_URI} !^(.*)\/Tools\/(.*)$
Если каталог в корне, первую маску (.*) можно убрать; вторая значит, что RewriteRule распостраняется на подкаталоги и файлы внутри директории.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху