Signification de apache2 CONTEXT_DOCUMENT_ROOT et CONTEXT_PREFIX?

Comment sont définies les variables d’environnement Apache2 (2.4) CGI CONTEXT_DOCUMENT_ROOT et CONTEXT_PREFIX ?

De l’expérimentation, j’ai déterminé ce qui suit:

Cependant, je n’arrive pas à trouver de documentation officielle d’Apache sur ces variables. Est-ce que quelqu’un ici a un lien vers une telle documentation, ou plus de connaissances faisant autorité à partager?

CONTEXT_PREFIX et CONTEXT_DOCUMENT_ROOT vous indiquent comment apache a utilisé une directive Alias (ou une fonctionnalité similaire – comme mod_userdir ) pour traduire le chemin d’URL vers le chemin du système de fichiers. Le chemin du système de fichiers finira par pointer vers le fichier à servir ou un script cgi à exécuter.

Donc, si apache traduit l’URL:

  http://host/_CONTEXT_PREFIX/path/file 

au chemin du système de fichiers:

  /_CONTEXT_DOCUMENT_ROOT/path/file 

cela implique qu’il existe un Alias (ou un ScriptAlias ou un mécanisme similaire tel que mod_userdir ) comme suit:

  Alias /_CONTEXT_PREFIX /_CONTEXT_DOCUMENT_ROOT 

La directive Alias enregistre / _CONTENT_PREFIX dans ${CONTEXT_PREFIX} et / _CONTEXT_DOCUMENT_ROOT est enregistrée dans ${CONTEXT_DOCUMENT_ROOT} .

Voici un exemple d’utilisation. Dans un contexte , RewriteRule traduit un nom de chemin d’access relatif au répertoire en un chemin d’URL absolu ou un nom de fichier absolu (qui doit exister). Donc, si vous voulez traduire les URL qui se sont terminées par .htm en .php, vous devez écrire comme ceci:

    RewriteEngine On RewriteRule (.*)[.]html$ /_CONTEXT_DOCUMENT_ROOT/$1.php   

Maintenant, vous pouvez l’écrire sans répéter /_CONTEXT_DOCUMENT_ROOT , mais peut-être plus important que le fichier ne doit pas exister parce que nous le réécrivons dans un chemin d’URL:

    RewriteEngine On RewriteRule (.*)[.].* ${CONTEXT_PREFIX}/$1.php