Refuser l’access à l’URI

J’essaie de refuser l’access à un certain uri, à savoir /admin/ et j’ai essayé ce fichier .htaccess:

 SetEnvIf Request_URI !^/admin/ not_admin_uri Order deny,allow Deny from all allow from 356.244.33. allow from env=not_admin_uri 

Cela fonctionne pour la plage IP exemple, mais pas pour la partie “not_admin_uri”.

Qu’est-ce qui ne va pas ici?

Nier un match que vous ne pouvez pas placer ! dans la directive SetEnvIf . Vous devez utiliser le lookahead négatif comme ceci:

 SetEnvIf Request_URI ^/(?!admin/) not_admin_uri 

Peut-être essayer d’utiliser une règle de réécriture. Si ce n’est pas de votre IP, bloquez l’access.

 RewriteEngine On RewriteCond %{REMOTE_ADDR} !^123\.123\.123\. RewriteRule ^admin/? - [F,L]