Ce module est implémenté dans le fichier mod_alias.c
, et est compilé par défaut. Il permet l'intégration de diverses parties du système de fichiers dans l'arborescence de documents servis par le serveur, et intègre le mécanisme de redirection d'URL.
La directive Alias permet de stocker des documents accessibles dans d'autres emplacements du système de fichier que la sous-arborescence définie à partir du répertoire DocumentRoot. Des URL (décodées) commençant par une combinaison url-chemin auront accès à des fichiers locaux correspondant à un chemin absolu repertoire-nomFichier.
Exemple:
Alias /image /ftp/pub/image
Une requête pour http://myserver/image/foo.gif fairait renvoyer le fichier /ftp/pub/image/foo.gif par le serveur.
Notez que si vous incluez un / final dans la définition de url-chemin alors le serveur demandera un / final pour rediriger le chemin. C'est-à-dire, si vous écrivez Alias /icons/ /usr/local/apache/icons/
alors l'URL /icons
ne sera pas redirigée.
Voir aussi ScriptAlias.
Cette directive est équivalente à la directive Alias, mais autorise l'usage d'expressions régulières, au lieu d'un simple préfixe. L'expression régulière mentionnée est appliquée à l'URL, et si une correspondance est trouvée, le serveur récupérera tout sous-motif entre parenthèse et le gardera comme nom de fichier. Par exemple, pour atteindre le répertoire /icons
, on pourrait écrire :
AliasMatch ^/icons(.*) /usr/local/apache/icons$1
La directive Redirect redirige une ancienne URL vers une nouvelle. La nouvelle URL est renvoyée au client que tente une nouvelle requête sur cette adresse. Url-chemin est un chemiun d'accès (décodé) ; toute requête vers un document appartenant à une dépendance de ce chemin se verra retourner un avis de redirection vers une nouvelle url (encodée) commençant par url.
Exemple:
Redirect /service http://foo2.bar.com/service
Si le client requiert http://myserver/service/foo.txt
, il lui sera signifié de tenter d'accéder à
http://foo2.bar.com/service/foo.txt
à la place.
Note : Les directives Redirect ont la priorité sur les directives Alias et ScriptAlias, quel que soit leur ordre dans le fichier de configuration. De plus,
url-chemin doit être un chemin d'accès absolu, et non un chemin relatif, même lorsque inscrit dans un fichier .htaccess
ou dans une section <Directory>.
Si aucun argument status n'est mentionné, la direction sera indiquée comme "temporaire" (code de réponse HTTP = 302). Ceci indique au client que l'adresse est redirigée temporairement. L'argument status peut être utilisé pour renvoyer d'autres codes de réponse HTTP :
D'autres codes de réponse peuvent être renvoyés en donnant à l'argument status une valeur numérique équivalente au code souhaité. Si cette valeur se situe entre 300 et 399, l'argument url doit être présent, autrement il doit être omis. Notez que cette valeur doit être connue par le code Apache (voir la fonction send_error_response
dans http_protocol.c).
Cette directive est équivalente à la directive Redirect, mais permet l'utilisation d'expressions régulières, au lieu d'une simple correspondance de préfixe. L'expression régulière est appliquée à l'URL, et si une correspondance est trouvée, le serveur récupérera tout sous-motif parenthésé et l'utilisera comme nom de fichier. Par exemple, pour rediriger tous les fichiers GIF vers des fichiers de même noms, mais d'extension JPEG sur un autre serveur, on écrira :
RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg
Cette directive indique au client que la redirection n'est que temporaire (code 302). Equivalent d'une directive Redirect temporary.
Cette directive indique au client que la redirection est permanente (code 301). Equivalent d'une directive Redirect permanent.
La directive ScriptAlias a le même comportement que la directive Alias, à part qu'elle précise en plus que le répertoire cible contient des scripts CGI. Les URL (décodées) qui visent une dépendance de url-chemin seront redirigées vers des scripts dont le chemin débute par repertoire-nomFichier.
Exemple :
ScriptAlias /cgi-bin/ /web/cgi-bin/
Une requête visant http://myserver/cgi-bin/foo
résultera en l'exécution du script /web/cgi-bin/foo
par le serveur.
Cette directive est équivalente à la directive ScriptAlias, mais permet l'utilisation d'expressions régulières, au lieu d'une simple correspondance de préfixe. L'expression régulière est appliquée à l'URL, et si une correspondance est trouvée, le serveur récupérera tout sous-motif parenthésé et l'utilisera comme nom de fichier. Par exemple, pour atteindre le répertoire /cgi-bin
standard, on écrira :
ScriptAlias ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
Adaptation française © Valery Fremaux / EISTI 1998