2010-09-10 10 views
0

SetEnv ne semble pas fonctionner pour moi. J'ai essayé dans mon .htaccess:Impossible de faire fonctionner setenv dans .htaccess

SetEnvIf Remote_Addr ^192\.168\.0$ ip_ok 
<IfDefine !ip_ok> 
    AuthName "Guest Login" 
    AuthType Basic 
    AuthUserFile /opt/lampp/lib/ok_users/guests.users 
    require valid-user 
</IfDefine> 

et je devais fournir des informations nom d'utilisateur/mot de passe, même si mon ip est 192.168.0.10 et le serveur (centos5/xampp pour 1.6.8a linux) est 192.168.0.1

J'ai donc essayé ceci:

SetEnv ip_ok 
<IfDefine !ip_ok> 
    AuthName "Guest Login" 
    AuthType Basic 
    AuthUserFile /opt/lampp/lib/ok_users/guests.users 
    require valid-user 
</IfDefine> 

mais setenv n'a pas mis ip_ok, et je reçois toujours contesté.

Alors j'ai essayé ceci:

SetEnv ip_ok 
<IfDefine ip_ok> 
    AuthName "Guest Login" 
    AuthType Basic 
    AuthUserFile /opt/lampp/lib/ok_users/guests.users 
    require valid-user 
</IfDefine> 

et je ne suis pas remis en cause. Par conséquent IfDefine fonctionne.

Des idées pour lesquelles je n'arrive pas à faire fonctionner SetEnv et SetEnvIf? J'ai googlé et lu mais ne peux pas le casser.

+0

Pour référence future, cela ressemble plus à une question [ServerFault] (http://serverfault.com/). –

+0

En outre, je suggère d'utiliser l'authentification Digest au lieu de Basic –

Répondre

1

<IfDefine> ne fonctionne pas comme vous le pensez. Il examine les paramètres transmis à httpd at startup via -Dparameter (ou Define dans Apache 2.3), pas les variables d'environnement.

C'est OK cependant, vous devriez être en mesure de faire ce que vous voulez comme ceci:

Order allow,deny 
AuthName "Guest Login" 
AuthType Basic 
AuthUserFile /opt/lampp/lib/ok_users/guests.users 
Require valid-user 
Allow from 192.168.0 
Satisfy Any 

Le Satisfy directive, lorsqu'il est réglé sur Any, vous permet de bénéficier d'un accès si vous passez la vérification hôte, ou si vous avez fourni le mot de passe.

+0

excellent, merci tim. fonctionne parfaitement. – kerry

Questions connexes