<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1664071:1674195 (outdated) -->
+<!-- English Revision : 1674195 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
désactivées avec</p>
<highlight language="config">
-<Directory />
+<Directory "/">
AllowOverride None
</Directory>
</highlight>
<note><p>Pour des raisons de sécurité et de performance, ne
définissez pas <code>AllowOverride</code> à autre chose que
- <code>None</code> dans votre bloc <code><Directory /></code>.
+ <code>None</code> dans votre bloc <code><Directory "/"></code>.
Recherchez plutôt (ou créez) le bloc <code><Directory></code>
qui se réfère au répertoire où vous allez précisément placer un
fichier <code>.htaccess</code>.</p>
<contextlist><context>directory</context><context>.htaccess</context>
</contextlist>
<override>AuthConfig</override>
-<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP
+<compatibility>Disponible à partir de la version 2.4.13 du serveur HTTP
Apache</compatibility>
<usage>
Define SSL
</IfDefine>
- DocumentRoot /var/www/${servername}/htdocs
+ DocumentRoot "/var/www/${servername}/htdocs"
</highlight>
<p>Le caractère ":" est interdit dans les noms de variables afin
caractères. Les intervalles de caractères <code>[]</code> sont aussi
autorisés. Aucun caractère générique ne peut remplacer le caractère
`/', si bien que l'expression <code><Directory
- /*/public_html></code> ne conviendra pas pour le chemin
+ "/*/public_html"></code> ne conviendra pas pour le chemin
* <code>/home/user/public_html</code>, alors que <code><Directory
- /home/*/public_html></code> conviendra. Exemple :</p>
+ "/home/*/public_html"></code> conviendra. Exemple :</p>
<highlight language="config">
<Directory "/usr/local/httpd/htdocs">
</Directory>
</highlight>
+ <p>Les chemins de répertoires contenant des espaces <em>doivent</em> être
+ entourés de guillemets afin d'empêcher l'interprétation de ces
+ espaces comme fins d'arguments.</p>
+
<note>
<p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
doit correspondre exactement au chemin du système de fichier
exemple, avec</p>
<highlight language="config">
-<Directory />
+<Directory "/">
AllowOverride None
</Directory>
correspondante s'appliquera.</p>
<p><strong>Notez que la politique d'accès par défaut
- dans les sections <code><Directory /></code> consiste à
+ dans les sections <code><Directory "/"></code> consiste à
autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
correspondant à une URL. Il est recommandé de modifier cette
situation à l'aide d'un bloc du style</strong></p>
<highlight language="config">
-<Directory />
+<Directory "/">
Require all denied
</Directory>
</highlight>
ref="regex">expression rationnelle</glossary>. Par exemple :</p>
<highlight language="config">
-<DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+<DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
# ...
</DirectoryMatch>
</highlight>
- <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
+ <p>convient pour les sous-répertoires de <code>/www/</code> dont
le nom se compose de trois chiffres.</p>
<note><title>Compatibilité</title>
nommés.</p>
<highlight language="config">
-<DirectoryMatch ^/var/www/combined/(?<sitename>[^/]+)>
- require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+<DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
+ Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</DirectoryMatch>
</highlight>
</usage>
<highlight language="config">
ErrorDocument 404 /cgi-bin/bad_urls.pl
-<Directory /web/docs>
+<Directory "/web/docs">
ErrorDocument 404 default
</Directory>
</highlight>
exemple :</p>
<highlight language="config">
-<FilesMatch "\.(gif|jpe?g|png)$">
+<FilesMatch ".+\.(gif|jpe?g|png)$">
# ...
</FilesMatch>
</highlight>
<p>correspondrait à la plupart des formats graphiques de
l'Internet.</p>
+ <note>Les caractères <code>.+</code> au début de l'expression
+ rationnelle permettent de s'assurer que les fichiers de nom
+ <code>.png</code>, ou <code>.gif</code>, par exemple, ne seront pas
+ pris en compte.</note>
+
<p>A partir de la version 2.4.8, les groupes nommés et les
références arrières sont extraits et enregistrés dans
l'environnement avec leur nom en majuscules et préfixé
nommés.</p>
<highlight language="config">
-<FilesMatch ^(?<sitename>[^/]+)>
+<FilesMatch "^(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</FilesMatch>
</highlight>
<highlight language="config">
# force le type MIME de tous les fichiers à image/gif:
-<Location /images>
+<Location "/images">
ForceType image/gif
</Location>
# mais utilise les méthodes classiques d'attribution du type MIME
# dans le sous-répertoire suivant :
-<Location /images/mixed>
+<Location "/images/mixed">
ForceType None
</Location>
</highlight>
directives qui supportent le <a
href="directive-dict.html#Context">contexte de répertoire</a>.</p>
+ <note type="warning">
+ Certaines variables comme <code>CONTENT_TYPE</code> ainsi que
+ d'autres en-têtes de réponse ne seront pas disponibles dans ce bloc,
+ car elle sont définies après l'évaluation des conditions <If>.
+ </note>
+
</usage>
<seealso><a href="../expr.html">Les expressions dans le serveur HTTP
/private1/ et /private1/file.txt, mais pas à /private1other.
</p>
<highlight language="config">
-<Location /private1>
+<Location "/private1">
# ...
</Location>
</highlight>
à /private2/file.txt, mais pas à /private2other.
</p>
<highlight language="config">
-<Location /private2<em>/</em>>
+<Location "/private2<em>/</em>">
# ...
</Location>
</highlight>
plutôt les sections <directive
type="section" module="core">Directory</directive> et <directive
type="section" module="core">Files</directive>. <code><Location
- /></code> constitue une exception et permet d'appliquer aisément
+ "/"></code> constitue une exception et permet d'appliquer aisément
une configuration à l'ensemble du serveur.</p>
</note>
utiliser :</p>
<highlight language="config">
-<Location /status>
+<Location "/status">
SetHandler server-status
Require host example.com
</Location>
explicitement les slashes multiples si telle est votre
intention.</p>
- <p>Par exemple, <code><LocationMatch ^/abc></code> va
+ <p>Par exemple, <code><LocationMatch "^/abc"></code> va
correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
//abc</code>. La directive <directive type="section"
>Location</directive> sans expression rationnelle se comporte de
est utilisée pour des requêtes non mandatées, elle fera
correspondre implicitement les slashes multiples à des slashes
uniques. Par exemple, si vous spécifiez <code><Location
- /abc/def></code>, une requête de la forme
+ "/abc/def"></code>, une requête de la forme
<code>/abc//def</code> correspondra.</p>
</note>
</usage>
<p>correspondrait à toute URL contenant les sous-chaînes
<code>/extra/data</code> ou <code>/special/data</code>.</p>
+ <note><p>Si vous recherchez une URL <strong>commençant par</strong>
+ plutôt que seulement contenant <code>/extra/data</code>, préfixez
+ l'expression rationnelle avec un <code>^</code>.</p>
+
+ <highlight language="config">
+ <LocationMatch "^/(extra|special)/data">
+ </highlight>
+ </note>
+
<p>A partir de la version 2.4.8, les groupes nommés et les
références arrières sont extraits et enregistrés dans
l'environnement avec leur nom en majuscules et préfixé
nommés.</p>
<highlight language="config">
-<LocationMatch ^/combined/(?<sitename>[^/]+)>
+<LocationMatch "^/combined/(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</LocationMatch>
</highlight>
fichier particulière. Par exemple :</p>
<highlight language="config">
-<FilesMatch \.php$>
+<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
</highlight>
<highlight language="config">
<VirtualHost 10.1.2.3:80>
ServerAdmin webmaster@host.example.com
- DocumentRoot /www/docs/host.example.com
+ DocumentRoot "/www/docs/host.example.com"
ServerName host.example.com
- ErrorLog logs/host.example.com-error_log
- TransferLog logs/host.example.com-access_log
+ ErrorLog "logs/host.example.com-error_log"
+ TransferLog "logs/host.example.com-access_log"
</VirtualHost>
</highlight>
<highlight language="config">
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
ServerAdmin webmaster@host.example.com
- DocumentRoot /www/docs/host.example.com
+ DocumentRoot "/www/docs/host.example.com"
ServerName host.example.com
- ErrorLog logs/host.example.com-error_log
- TransferLog logs/host.example.com-access_log
+ ErrorLog "logs/host.example.com-error_log"
+ TransferLog "logs/host.example.com-access_log"
</VirtualHost>
</highlight>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1643416:1673932 (outdated) -->
+<!-- English Revision : 1673932 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<p>La directive suivante accorderait l'autorisation d'accès à tout
utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
- <highlight language="config">Require ldap-attribute employeeType=active</highlight>
+ <highlight language="config">Require ldap-attribute
+ "employeeType=active"</highlight>
<p>Plusieurs paires attribut/valeur peuvent être spécifiées par une
même directive en les séparant par des espaces, ou en définissant
utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
donc l'attribut status aurait pour valeur "actif" :</p>
- <highlight language="config">Require ldap-attribute city="San Jose" status=active</highlight>
+ <highlight language="config">Require ldap-attribute city="San Jose"
+ "status=active"</highlight>
</section>
utilisateur possédant un téléphone cellulaire et faisant partie du
département "marketing" :</p>
- <highlight language="config">Require ldap-filter &(cell=*)(department=marketing)</highlight>
+ <highlight language="config">Require ldap-filter
+ "&(cell=*)(department=marketing)"</highlight>
<p>Alors que la directive <code>Require ldap-attribute</code> se
contente d'une simple comparaison d'attributs, la directive
fonction ldap.</p>
<highlight language="config">
-<LocationMatch ^/dav/(?<SITENAME>[^/]+)/>
- Require ldap-filter (memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example)
+<LocationMatch "^/dav/(?<SITENAME>[^/]+)/">
+ Require ldap-filter
+ "(memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example)"
</LocationMatch>
</highlight>
aux objets spécifiés dans le serveur LDAP :</p>
<highlight language="config">
-<LocationMatch ^/dav/(?<SITENAME>[^/]+)/>
-Require ldap-search (cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}} Website)
+<LocationMatch "^/dav/(?<SITENAME>[^/]+)/">
+Require ldap-search "(cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}}
+Website)"
</LocationMatch>
</highlight>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1642590:1673947 (outdated) -->
+<!-- English Revision : 1673947 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
au groupe LDAP <code>Employés temporaires</code>.</p>
<highlight language="config">
-<Directory /www/mydocs>
+<Directory "/www/mydocs">
<RequireAll>
<RequireAny>
Require user superadmin
<RequireAll>
Require group admins
- Require ldap-group cn=Administrateurs,o=Airius
+ Require ldap-group "cn=Administrateurs,o=Airius"
<RequireAny>
Require group ventes
Require ldap-attribute dept="ventes"
</RequireAny>
<RequireNone>
Require group temps
- Require ldap-group cn=Employés temporaires,o=Airius
+ Require ldap-group "cn=Employés temporaires,o=Airius"
</RequireNone>
</RequireAll>
</Directory>
entre autres.</p>
<highlight language="config">
-SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
-<Directory /docroot>
+SetEnvIf User-Agent "^KnockKnock/2\.0" let_me_in
+<Directory "/docroot">
Require env let_me_in
</Directory>
</highlight>
</p>
<highlight language="config">
-<AuthzProviderAlias ldap-group ldap-group-alias1 cn=my-group,o=ctx>
+<AuthzProviderAlias ldap-group ldap-group-alias1 "cn=my-group,o=ctx">
AuthLDAPBindDN cn=youruser,o=ctx
AuthLDAPBindPassword yourpassword
- AuthLDAPURL ldap://ldap.host/o=ctx
+ AuthLDAPURL "ldap://ldap.host/o=ctx"
</AuthzProviderAlias>
-<AuthzProviderAlias ldap-group ldap-group-alias2 cn=my-other-group,o=dev>
- AuthLDAPBindDN cn=yourotheruser,o=dev
+<AuthzProviderAlias ldap-group ldap-group-alias2 "cn=my-other-group,o=dev">
+ AuthLDAPBindDN "cn=yourotheruser,o=dev"
AuthLDAPBindPassword yourotherpassword
- AuthLDAPURL ldap://other.ldap.host/o=dev?cn
+ AuthLDAPURL "ldap://other.ldap.host/o=dev?cn"
</AuthzProviderAlias>
-Alias /secure /webpages/secure
-<Directory /webpages/secure>
+Alias "/secure" "/webpages/secure"
+<Directory "/webpages/secure">
Require all granted
AuthBasicProvider file
AuthType Basic
AuthName "Restricted Resource"
AuthBasicProvider file
-AuthUserFile /web/users
-AuthGroupFile /web/groups
+AuthUserFile "/web/users"
+AuthGroupFile "/web/groups"
Require group admin
</highlight>
<code>reject</code>.</p>
<highlight language="config">
-<Directory /www/docs>
+<Directory "/www/docs">
<RequireAll>
Require group alpha beta
Require not group reject
<code>/www/docs/ab/gamma</code>.</note>
<highlight language="config">
-<Directory /www/docs>
+<Directory "/www/docs">
AuthType Basic
AuthName Documents
AuthBasicProvider file
- AuthUserFile /usr/local/apache/passwd/passwords
+ AuthUserFile "/usr/local/apache/passwd/passwords"
Require group alpha
</Directory>
-<Directory /www/docs/ab>
+<Directory "/www/docs/ab">
AuthMerging Or
Require group beta
</Directory>
-<Directory /www/docs/ab/gamma>
+<Directory "/www/docs/ab/gamma">
Require group gamma
</Directory>
</highlight>