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]