2015-03-12 4 views
1

Я пытаюсь запретить доступ к определенным Ури, а именно /admin/ и попробовал этот файл .htaccess:Запретить доступ к URI

SetEnvIf Request_URI !^/admin/ not_admin_uri 

Order deny,allow 
Deny from all 
allow from 356.244.33. 
allow from env=not_admin_uri 

Это работает для примера диапазона IP, но не для «not_admin_uri " часть.

Что здесь не так?

ответ

1

Чтобы свести матч вы не можете разместить ! в SetEnvIf директиве. Вам необходимо использовать отрицательный lookahead вот так:

SetEnvIf Request_URI ^/(?!admin/) not_admin_uri 
1

Возможно, попробуйте использовать правило перезаписи. Если не от вашего IP, тогда заблокируйте доступ.

RewriteEngine On 
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\. 
RewriteRule ^admin/? - [F,L] 
Смежные вопросы