RewriteEngine On
RewriteCond $1 !^(allow\.php)
RewriteRule ^(.*)$ /allow.php/$1 [L,R=301]
RewriteCond %{HTTP_USER_AGENT} !MYUSERAGENT [NC]
RewriteCond %{REMOTE_ADDR} !^12.12\.12\.12$
RewriteRule .* http://www.google.com [R=302,L]
J'ai écrit ce code pour restreindre l'accès à ma page. Mais je veux que tout le monde accède à allow.php Ce code ne fonctionne pas, il redirige toujours. Pourquoi cela se produit-il?mod_rewrite Autoriser un seul fichier et restreindre les autres
Je pense que la partie 1 $ est votre problème. Essayez d'utiliser '% {REQUEST_URI}' à la place –
Ensuite, je reçois la boucle allow.php. net/allow.php/allow.php/allow.php/.... –
Il ne devrait pas faire cela. La chaîne '!^Allow \ .php' signifie que tous les URI de demande ne commencent pas par allow.php. Avez-vous testé avec 'RewriteCond% {REQUEST_URI}!^Allow \ .php'? –