Problème utilisation variable ENV dans HTaccess

WRInaute passionné
Bonjour,
je cherche à faire un skip (avec S) si une variable d'environnement est fixée, mais je ne parviens pas à régler le bon test.

Le départ pour fixer la variable ENV (ça fonctionne, je la récupère correctement en PHP via getenv()):
Code:
RewriteRule ^    -    [E=ROBOT_OUI:non]
RewriteCond %{HTTP_USER_AGENT} Google|mediapartners|geo-crawl|bing(bot|preview)|adsbot|qwantify|DuckDuckGo|Applebot|facebook|Yahoo    [NC,OR]
RewriteCond %{REMOTE_ADDR}    ^193\.186\.4\.
RewriteRule ^    -    [E=ROBOT_OUI:true]
Vous l'aurez compris, ça teste si c'est un "robot officiel" (mais peu importe, on pourrait tester ce qu'on veut).

En revanche, et afin de ne pas refaire le test, je ne parviens pas à utiliser la variable ROBOT_OUI ensuite, j'ai essayé pas mal de formes d'écriture, mais ça ne veut pas...
Ex. 1
Code:
RewriteRule %{ENV:ROBOT_OUI} true    [S=18]
ou
RewriteRule %{ENV:ROBOT_OUI} =true    [S=18]
ps: normalement, les guillemets sont inutiles sur ma config.

Ex. 2 (au cas où la variable ENV ne fonctionne pas avec RewriteRule -j'ai eu un doute en lisant les docs de apache-). Je ne répète pas les variantes syntaxiques...
Code:
RewriteCond %{ENV:ROBOT_OUI} true
RewriteRule ^ - [S=18]
Et bien, ça ne fonctionne pas non plus...

Habituellement, je ne suis pas manchot en prog, mais là, j'y perds mon code!!! Il doit y avoir quelque chose qui m'échappe.

Exemple qui ne fonctionne pas (repris du cas précédent et -théoriquement amélioré-)
Code:
RewriteCond %{HTTP_USER_AGENT} Google|mediapartners|geo-crawl|bing(bot|preview)|adsbot|qwantify|DuckDuckGo|Applebot|facebook|Yahoo    [NC]
RewriteRule ^    -    [E=ROBOT_OUI:true,S=2]
RewriteCond %{REMOTE_ADDR}    ^193\.186\.4\.
RewriteRule ^    -    [E=ROBOT_OUI:true]

ou

RewriteRule ^    -    [E=ROBOT_OUI:non]
RewriteCond %{HTTP_USER_AGENT} Google|mediapartners|geo-crawl|bing(bot|preview)|adsbot|qwantify|DuckDuckGo|Applebot|facebook|Yahoo    [NC]
RewriteRule ^    -    [E=ROBOT_OUI:true]
RewriteCond %{ENV:ROBOT_OUI} non
RewriteCond %{REMOTE_ADDR}    ^193\.186\.4\.
RewriteRule ^    -    [E=ROBOT_OUI:true]
Le skip 2 lignes ne fonctionne pas (histoire de pas retester si c'est un robot via l'IP...)

Si un pro du htaccess peut m'expliquer ce qui ne colle pas ou un lien avec une bonne lecture, merci!!!
 
Discussions similaires
Haut