Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
apache2-doc /
manual /
fr /
mod /
Delete
Unzip
Name
Size
Permission
Date
Action
core.html
361.82
KB
-rw-r--r--
2026-06-12 05:08
directive-dict.html
20.54
KB
-rw-r--r--
2026-06-12 05:08
directives.html
58.25
KB
-rw-r--r--
2026-06-12 05:08
event.html
33.28
KB
-rw-r--r--
2026-06-12 05:08
index.html
27.9
KB
-rw-r--r--
2026-06-12 05:08
mod_access_compat.html
33.23
KB
-rw-r--r--
2026-06-12 05:08
mod_actions.html
13.74
KB
-rw-r--r--
2026-06-12 05:08
mod_alias.html
46.22
KB
-rw-r--r--
2026-06-12 05:08
mod_allowmethods.html
8.33
KB
-rw-r--r--
2026-06-12 05:08
mod_asis.html
9.15
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_basic.html
22.6
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_digest.html
23.05
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_form.html
57.7
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_anon.html
18.52
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_core.html
18.41
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_dbd.html
16.96
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_dbm.html
13.86
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_file.html
12.25
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_socache.html
21.67
KB
-rw-r--r--
2026-06-12 05:08
mod_authnz_fcgi.html
30.74
KB
-rw-r--r--
2026-06-12 05:08
mod_authnz_ldap.html
93.48
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_core.html
45.36
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_dbd.html
21.01
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_dbm.html
14.15
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_groupfile.html
11.11
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_host.html
14.94
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_owner.html
12.07
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_user.html
8.39
KB
-rw-r--r--
2026-06-12 05:08
mod_autoindex.html
74.86
KB
-rw-r--r--
2026-06-12 05:08
mod_brotli.html
23.66
KB
-rw-r--r--
2026-06-12 05:08
mod_buffer.html
9.69
KB
-rw-r--r--
2026-06-12 05:08
mod_cache.html
81.11
KB
-rw-r--r--
2026-06-12 05:08
mod_cache_disk.html
22.08
KB
-rw-r--r--
2026-06-12 05:08
mod_cache_socache.html
19.8
KB
-rw-r--r--
2026-06-12 05:08
mod_cern_meta.html
11.81
KB
-rw-r--r--
2026-06-12 05:08
mod_cgi.html
22.69
KB
-rw-r--r--
2026-06-12 05:08
mod_cgid.html
12.45
KB
-rw-r--r--
2026-06-12 05:08
mod_charset_lite.html
17.03
KB
-rw-r--r--
2026-06-12 05:08
mod_data.html
7.69
KB
-rw-r--r--
2026-06-12 05:08
mod_dav.html
22.71
KB
-rw-r--r--
2026-06-12 05:08
mod_dav_fs.html
11.52
KB
-rw-r--r--
2026-06-12 05:08
mod_dav_lock.html
10.38
KB
-rw-r--r--
2026-06-12 05:08
mod_dbd.html
28.99
KB
-rw-r--r--
2026-06-12 05:08
mod_deflate.html
34.78
KB
-rw-r--r--
2026-06-12 05:08
mod_dialup.html
7.68
KB
-rw-r--r--
2026-06-12 05:08
mod_dir.html
27.64
KB
-rw-r--r--
2026-06-12 05:08
mod_dumpio.html
10.02
KB
-rw-r--r--
2026-06-12 05:08
mod_echo.html
7.36
KB
-rw-r--r--
2026-06-12 05:08
mod_env.html
12.18
KB
-rw-r--r--
2026-06-12 05:08
mod_example_hooks.html
12.06
KB
-rw-r--r--
2026-06-12 05:08
mod_expires.html
19.61
KB
-rw-r--r--
2026-06-12 05:08
mod_ext_filter.html
20.54
KB
-rw-r--r--
2026-06-12 05:08
mod_file_cache.html
18.33
KB
-rw-r--r--
2026-06-12 05:08
mod_filter.html
39.51
KB
-rw-r--r--
2026-06-12 05:08
mod_headers.html
41.18
KB
-rw-r--r--
2026-06-12 05:08
mod_heartbeat.html
9.75
KB
-rw-r--r--
2026-06-12 05:08
mod_heartmonitor.html
12.95
KB
-rw-r--r--
2026-06-12 05:08
mod_http2.html
85.5
KB
-rw-r--r--
2026-06-12 05:08
mod_ident.html
10.57
KB
-rw-r--r--
2026-06-12 05:08
mod_imagemap.html
24.56
KB
-rw-r--r--
2026-06-12 05:08
mod_include.html
70.75
KB
-rw-r--r--
2026-06-12 05:08
mod_info.html
16.11
KB
-rw-r--r--
2026-06-12 05:08
mod_isapi.html
26.77
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_bybusyness.html
8.23
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_byrequests.html
13.18
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_bytraffic.html
8.59
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_heartbeat.html
8.57
KB
-rw-r--r--
2026-06-12 05:08
mod_ldap.html
59.24
KB
-rw-r--r--
2026-06-12 05:08
mod_log_config.html
44.14
KB
-rw-r--r--
2026-06-12 05:08
mod_log_debug.html
10.92
KB
-rw-r--r--
2026-06-12 05:08
mod_log_forensic.html
15.15
KB
-rw-r--r--
2026-06-12 05:08
mod_logio.html
11.47
KB
-rw-r--r--
2026-06-12 05:08
mod_lua.html
108.75
KB
-rw-r--r--
2026-06-12 05:08
mod_macro.html
16.92
KB
-rw-r--r--
2026-06-12 05:08
mod_md.html
126.42
KB
-rw-r--r--
2026-06-12 05:08
mod_mime.html
76.65
KB
-rw-r--r--
2026-06-12 05:08
mod_mime_magic.html
18.15
KB
-rw-r--r--
2026-06-12 05:08
mod_negotiation.html
24.81
KB
-rw-r--r--
2026-06-12 05:08
mod_nw_ssl.html
9.76
KB
-rw-r--r--
2026-06-12 05:08
mod_privileges.html
35.27
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy.html
165.75
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_ajp.html
38.28
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_balancer.html
27.32
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_connect.html
10.61
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_express.html
14.2
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_fcgi.html
25.72
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_fdpass.html
7.59
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_ftp.html
22.19
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_hcheck.html
19.76
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_html.html
41.71
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_http.html
13.07
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_http2.html
10.95
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_scgi.html
16.14
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_uwsgi.html
8.6
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_wstunnel.html
11.64
KB
-rw-r--r--
2026-06-12 05:08
mod_ratelimit.html
7.25
KB
-rw-r--r--
2026-06-12 05:08
mod_reflector.html
8.9
KB
-rw-r--r--
2026-06-12 05:08
mod_remoteip.html
30.44
KB
-rw-r--r--
2026-06-12 05:08
mod_reqtimeout.html
14.19
KB
-rw-r--r--
2026-06-12 05:08
mod_request.html
10.05
KB
-rw-r--r--
2026-06-12 05:08
mod_rewrite.html
94.55
KB
-rw-r--r--
2026-06-12 05:08
mod_sed.html
12.56
KB
-rw-r--r--
2026-06-12 05:08
mod_session.html
40.92
KB
-rw-r--r--
2026-06-12 05:08
mod_session_cookie.html
14.85
KB
-rw-r--r--
2026-06-12 05:08
mod_session_crypto.html
20.25
KB
-rw-r--r--
2026-06-12 05:08
mod_session_dbd.html
28.44
KB
-rw-r--r--
2026-06-12 05:08
mod_setenvif.html
24.75
KB
-rw-r--r--
2026-06-12 05:08
mod_slotmem_plain.html
8.32
KB
-rw-r--r--
2026-06-12 05:08
mod_slotmem_shm.html
9.1
KB
-rw-r--r--
2026-06-12 05:08
mod_so.html
15.7
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_dbm.html
6.02
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_dc.html
6.08
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_memcache.html
9.14
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_redis.html
11.06
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_shmcb.html
6.13
KB
-rw-r--r--
2026-06-12 05:08
mod_speling.html
13.88
KB
-rw-r--r--
2026-06-12 05:08
mod_ssl.html
236.75
KB
-rw-r--r--
2026-06-12 05:08
mod_status.html
13.34
KB
-rw-r--r--
2026-06-12 05:08
mod_substitute.html
16.08
KB
-rw-r--r--
2026-06-12 05:08
mod_suexec.html
8.28
KB
-rw-r--r--
2026-06-12 05:08
mod_systemd.html
8.02
KB
-rw-r--r--
2026-06-12 05:08
mod_unique_id.html
18.88
KB
-rw-r--r--
2026-06-12 05:08
mod_unixd.html
15.37
KB
-rw-r--r--
2026-06-12 05:08
mod_userdir.html
14.15
KB
-rw-r--r--
2026-06-12 05:08
mod_usertrack.html
21.62
KB
-rw-r--r--
2026-06-12 05:08
mod_version.html
11.08
KB
-rw-r--r--
2026-06-12 05:08
mod_vhost_alias.html
23.44
KB
-rw-r--r--
2026-06-12 05:08
mod_watchdog.html
8.17
KB
-rw-r--r--
2026-06-12 05:08
mod_xml2enc.html
17.69
KB
-rw-r--r--
2026-06-12 05:08
module-dict.html
9.7
KB
-rw-r--r--
2026-06-12 05:08
mpm_common.html
82.09
KB
-rw-r--r--
2026-06-12 05:08
mpm_netware.html
10.67
KB
-rw-r--r--
2026-06-12 05:08
mpm_winnt.html
11.52
KB
-rw-r--r--
2026-06-12 05:08
mpmt_os2.html
7.78
KB
-rw-r--r--
2026-06-12 05:08
overrides.html
77.74
KB
-rw-r--r--
2026-06-12 05:08
prefork.html
18.13
KB
-rw-r--r--
2026-06-12 05:08
quickreference.html
217.91
KB
-rw-r--r--
2026-06-12 05:08
worker.html
16.82
KB
-rw-r--r--
2026-06-12 05:08
Save
Rename
<!DOCTYPE html SYSTEM "about:legacy-compat"> <html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta content="width=device-width, initial-scale=1" name="viewport"> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>mod_setenvif - Serveur HTTP Apache Version 2.4</title> <link href="../../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet"> <link href="../../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size"> <link href="../../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="../../style/css/prettify.css"> <script src="../../style/scripts/prettify.min.js"> </script> <link href="../../images/favicon.png" rel="shortcut icon"></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/index.html">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p> <p class="apache">Serveur HTTP Apache Version 2.4</p> <img alt="" src="../../images/feather.png"></div> <div class="up"><a href="./index.html"><img title="<-" alt="<-" src="../../images/left.gif"></a></div> <div id="path"> <a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">Serveur HTTP</a> > <a href="https://httpd.apache.org/docs/">Documentation</a> > <a href="../index.html">Version 2.4</a> > <a href="./index.html">Modules</a></div> <div id="page-content"> <div id="preamble"><h1>Module Apache mod_setenvif</h1> <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="../../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../../fr/mod/mod_setenvif.html" title="Français"> fr </a> | <a href="../../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="../../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="../../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de définir des variables d'environnement en fonction de certainescaractéristiques de la requête</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>setenvif_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_setenvif.c</td></tr></table> <h3>Sommaire</h3> <p>Le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> vous permet de définir des variables d'environnement internes de manière conditionnelle en fonction de critères que vous pouvez spécifier. Ces variables d'environnement peuvent être utilisées par d'autres parties du serveur pour prendre des décisions quant aux actions à entreprendre, et pour déterminer si les scripts CGI et les pages SSI doivent pouvoir y accéder.</p> <p>Les directives sont interprétées selon l'ordre dans lequel elles apparaîssent dans les fichiers de configuration. Ainsi, des séquences plus complexes peuvent être utilisées, comme dans cet exemple qui définit netscape si le navigateur est Mozilla et non MSIE.</p> <pre class="prettyprint lang-config">BrowserMatch ^Mozilla netscape BrowserMatch MSIE !netscape</pre> <p>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="../glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la recherche d'un <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un listing du contenu d'un répertoire via le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des variables d'environnement spécifiques à la requête. En outre, à cause des phases de l'API auxquelles <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> prend part, les directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ne sont pas évaluées séparément dans la sous-requête.</p> <p>Une expression rationnelle ne nécessite des guillemets que si elle contient des espaces non protégées, auquel cas les guillemets simples ou doubles sont équivalents. À la différence de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> supprime tous les autres anti-slashes lors de l'interprétation de l'expression ; ainsi, <code>\\</code> et <code>\\\</code> doivent être notés <code>\\\</code> et <code>\\\\\</code>, respectivement.</p> </div> <div id="quickview"><h3 class="directives">Directives</h3> <ul id="toc"> <li><img alt="" src="../../images/down.gif"> <a href="#browsermatch">BrowserMatch</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#setenvif">SetEnvIf</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#setenvifexpr">SetEnvIfExpr</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> </ul> <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Signaler un bug</a></li></ul><h3>Voir aussi</h3> <ul class="seealso"> <li><a href="../env.html">Les variables d'environnement et le serveur HTTP Apache</a></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="browsermatch">Directive <span id="BrowserMatch">BrowserMatch</span> <a title="Lien permanent" href="#browsermatch" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du contenu de l'en-tête HTTP User-Agent</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>] [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> </table> <p>La directive <code class="directive">BrowserMatch</code> est un cas particulier de la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, qui définit des variables d'environnement en fonction du contenu de l'en-tête de requête HTTP <code>User-Agent</code>. Les deux lignes suivantes produisent le même effet :</p> <pre class="prettyprint lang-config">BrowserMatch Robot is_a_robot SetEnvIf User-Agent Robot is_a_robot</pre> <p>Quelques exemples supplémentaires :</p> <pre class="prettyprint lang-config">BrowserMatch ^Mozilla forms jpeg=yes browser=netscape BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript BrowserMatch MSIE !javascript</pre> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="browsermatchnocase">Directive <span id="BrowserMatchNoCase">BrowserMatchNoCase</span> <a title="Lien permanent" href="#browsermatchnocase" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du contenu de l'en-tête HTTP User-Agent sans tenir compte de la casse</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>valeur</em>] [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> </table> <p>La directive <code class="directive">BrowserMatchNoCase</code> est identique sur le plan sémantique à la directive <code class="directive"><a href="#browsermatch">BrowserMatch</a></code>. Elle permet cependant une comparaison insensible à la casse. Par exemple :</p> <pre class="prettyprint lang-config">BrowserMatchNoCase mac platform=macintosh BrowserMatchNoCase win platform=windows</pre> <p>Les directives <code class="directive">BrowserMatch</code> et <code class="directive">BrowserMatchNoCase</code> sont des cas particuliers des directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code> et <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code>. Ainsi, les deux lignes suivantes produisent le même effet :</p> <pre class="prettyprint lang-config">BrowserMatchNoCase Robot is_a_robot SetEnvIfNoCase User-Agent Robot is_a_robot</pre> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="setenvif">Directive <span id="SetEnvIf">SetEnvIf</span> <a title="Lien permanent" href="#setenvif" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des attributs de la requête</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIf <em>attribut regex [!]env-variable</em>[=<em>valeur</em>] [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> </table> <p>La directive <code class="directive">SetEnvIf</code> permet de définir des variables d'environnement en fonction des attributs de la requête. L'<em>attribut</em> spécifié comme premier argument peut se présenter sous l'une des trois formes suivantes :</p> <ol> <li>Un champ d'en-tête de requête HTTP (voir la <a href="https://www.rfc-editor.org/rfc/rfc2616">RFC 2616</a> pour plus d'information à leur propos) ; par exemple : <code>Host</code>, <code>User-Agent</code>, <code>Referer</code>, ou <code>Accept-Language</code>. Il est possible d'utiliser une expression rationnelle pour spécifier un jeu d'en-têtes de requête.</li> <li>Une des caractéristiques de la requête suivantes : <ul> <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible) du client qui effectue la requête</li> <li><code>Remote_Addr</code> - l'adresse IP du client qui effectue la requête</li> <li><code>Server_Addr</code> - l'adresse IP du serveur qui a reçu la requête (uniquement à partir des versions supérieures à 2.0.43)</li> <li><code>Request_Method</code> - Le nom de la méthode HTTP utilisée (<code>GET</code>, <code>POST</code>, <em>et cetera...</em>)</li> <li><code>Request_Protocol</code> - le nom et la version du protocole utilisé pour la requête (par exemple "HTTP/0.9", "HTTP/1.1", <em>etc...</em>)</li> <li><code>Request_URI</code> - la ressource demandée dans la ligne de requête HTTP -- en général la partie de l'URL suivant le protocole et le nom du serveur, sans la chaîne d'arguments. Voir la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> du module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour plus d'informations sur la manière de mettre en correspondance votre chaîne d'arguments.</li> </ul> </li> <li>Le nom d'une variable d'environnement parmi la liste de celles qui sont associées à la requête. Ceci permet à la directive <code class="directive">SetEnvIf</code> d'effectuer des tests en fonction du résultat de comparaisons précédentes. Seules les variables d'environnement définies par des directives <code>SetEnvIf[NoCase]</code> précédentes sont disponibles pour effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se trouvent à un niveau plus global de la configuration (par exemple au niveau du serveur principal), ou plus haut chronologiquement dans le contexte de la directive. Les variables d'environnement ne seront prises en compte que si aucune correspondance n'a été trouvée parmi les caractéristiques de la requête, et si <em>attribut</em> n'a pas été spécifié sous la forme d'une expression rationnelle.</li> </ol> <p>Le second argument (<em>regex</em>) est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Si <em>regex</em> correspond à l'<em>attribut</em>, les arguments suivants sont évalués.</p> <p>Le reste des arguments constitue les noms des variables à définir, ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils peuvent se présenter sous les formes suivantes :</p> <ol> <li><code><em>nom-variable</em></code>, ou</li> <li><code>!<em>nom-variable</em></code>, ou</li> <li><code><em>nom-variable</em>=<em>valeur</em></code></li> </ol> <p>Dans la première forme, la valeur sera définie à "1". Dans la seconde forme, la variable sera supprimée si elle a été définie au préalable, et dans la troisième forme, la variable sera définie à la valeur littérale spécifiée par <code><em>valeur</em></code>. Depuis la version 2.0.51, Apache httpd reconnaît les occurrences de variables <code>$1</code>..<code>$9</code> à l'intérieur de <code><em>valeur</em></code>, et les remplace par les sous-expressions entre parenthèses correspondantes de <var>regex</var>. <code>$0</code> permet d'accéder à l'ensemble de la chaîne qui correspond à ce modèle.</p> <pre class="prettyprint lang-config">SetEnvIf Request_URI "\.gif$" object_is_image=gif SetEnvIf Request_URI "\.jpg$" object_is_image=jpg SetEnvIf Request_URI "\.xbm$" object_is_image=xbm SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral SetEnvIf object_is_image xbm XBIT_PROCESSING=1 SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1 SetEnvIf ^TS ^[a-z] HAVE_TS</pre> <p>Les trois premières lignes définissent la variable d'environnement <code>objet_est_une_image</code> si l'objet de la requête est un fichier image, et la quatrième définit la variable <code>intra_site_referral</code> si la page référante se trouve quelque part dans le site web <code>www.mydomain.example.com</code>.</p> <p>La dernière ligne définit la variable d'environnement <code>HAVE_TS</code> si la requête contient un en-tête dont le nom commence par "TS" et dont la valeur commence par tout caractère du jeu [a-z].</p> <h3>Voir aussi</h3> <ul> <li><a href="../env.html">Les variables d'environnement et le serveur HTTP Apache</a> pour des exemples supplémentaires. </li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="setenvifexpr">Directive <span id="SetEnvIfExpr">SetEnvIfExpr</span> <a title="Lien permanent" href="#setenvifexpr" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction d'une expression ap_expr</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfExpr <em>expr [!]env-variable</em>[=<em>valeur</em>] [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> </table> <p>La directive <code class="directive">SetEnvIfExpr</code> permet de définir des variables d'environnement en fonction d'une <a href="../expr.html">expression</a>. Cette expression est évaluée à l'exécution, et les différentes variables d'environnement <em>env-variable</em> définies de la même manière que la directive <code class="directive">SetEnvIf</code>, y compris les références arrières.</p> <pre class="prettyprint lang-config"> SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered SetEnvIfExpr "tolower(req('X-Sendfile')) =~ /(.*\.iso$)/" iso-path=$1</pre> <p>Dans cet exemple, la variable d'environnement <code>iso_delivered</code> est définie chaque fois que notre application tente de l'envoyer via <code>X-Sendfile</code>.</p> <p>Il pourrait être plus utile de définir une variable rfc1918 si l'adresse IP distante est une adresse privée au sens de la RFC 1918 :</p> <pre class="prettyprint lang-config">SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918</pre> <h3>Voir aussi</h3> <ul> <li><a href="../expr.html">Les expressions dans le serveur HTTP Apache</a>, pour une référence complète et davantage d'exemples.</li> <li>La directive <code class="directive"><a href="../mod/core.html#if"><If></a></code> permet d'obtenir des résultats similaires.</li> <li><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="setenvifnocase">Directive <span id="SetEnvIfNoCase">SetEnvIfNoCase</span> <a title="Lien permanent" href="#setenvifnocase" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des attributs de la requête sans tenir compte de la casse</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfNoCase <em>attribut regex [!]env-variable</em>[=<em>valeur</em>] [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> </table> <p>La directive <code class="directive">SetEnvIfNoCase</code> est identique d'un point de vue sémantique à la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, et ne s'en distingue que par le fait que la comparaison des expressions rationnelles est effectuée sans tenir compte de la casse. Par exemple :</p> <pre class="prettyprint lang-config">SetEnvIfNoCase Host Example\.Org site=example</pre> <p>Cette ligne va définir la variable d'environnement <code>site</code> avec la valeur "<code>example</code>" si le champ d'en-tête de requête HTTP <code>Host:</code> est présent et contient <code>Example.Org</code>, <code>example.org</code>, ou une autre combinaison des mêmes caractères, sans tenir compte de la casse.</p> </div> </div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../../fr/mod/mod_setenvif.html" title="Français"> fr </a> | <a href="../../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="../../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="../../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autorisé sous <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/index.html">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } var langToggle = document.querySelector('.lang-toggle'); var topLang = document.querySelector('.toplang'); if (langToggle && topLang) { langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); } var qv = document.getElementById('quickview'); if (qv) { document.body.appendChild(qv); var qvBtn = document.createElement('button'); qvBtn.className = 'qv-toggle'; qvBtn.setAttribute('aria-label', 'Toggle page navigation'); qvBtn.innerHTML = '☰'; document.body.appendChild(qvBtn); qvBtn.addEventListener('click', function() { var isOpen = qv.classList.toggle('open'); if (isOpen) { qv.style.top = window.scrollY + 10 + 'px'; } }); window.addEventListener('scroll', function() { qv.classList.remove('open'); }); } //--><!]]></script> </body></html>