# mod_alias

### MODULE

mod_alias

### MODULE SUMMARY

URL ailasing.

### DESCRIPTION

Erlang Webserver Server internal API for handling of things such as interaction data exported by the mod_alias module.

### EXPORTS

`default_index(ConfigDB, Path) -> NewPath`

Types:

`ConfigDB = config_db()`
`Path = NewPath = string()`

If `Path` is a directory, `default_index/2`, it starts searching for resources or files that are specified in the config directive DirectoryIndex. If an appropriate resource or file is found, it is appended to the end of `Path` and then returned. `Path` is returned unaltered, if no appropriate file is found, or if `Path` is not a directory. `config_db()` is the server config file in ETS table format as described in Inets Users Guide..

`path(PathData, ConfigDB, RequestURI) -> Path`

Types:

`PathData = interaction_data()`
`ConfigDB = config_db()`
`RequestURI = Path = string()`

`path/3` returns the actual file `Path` in the `RequestURI` (See RFC 1945). If the interaction data `{real_name,{Path,AfterPath}}` has been exported by mod_alias; `Path` is returned. If no interaction data has been exported, ServerRoot is used to generate a file `Path`. `config_db()` and `interaction_data()` are as defined in Inets Users Guide.

`real_name(ConfigDB, RequestURI, Aliases) -> Ret`

Types:

`ConfigDB = config_db()`
`RequestURI = string()`
`Aliases = [{FakeName,RealName}]`
`Ret = {ShortPath,Path,AfterPath}`
`ShortPath = Path = AfterPath = string()`

`real_name/3` traverses `Aliases`, typically extracted from `ConfigDB`, and matches each `FakeName` with `RequestURI`. If a match is found `FakeName` is replaced with `RealName` in the match. The resulting path is split into two parts, that is `ShortPath` and `AfterPath` as defined in httpd_util:split_path/1. `Path` is generated from `ShortPath`, that is the result from default_index/2 with `ShortPath` as an argument. `config_db()` is the server config file in ETS table format as described in Inets User Guide..

`real_script_name(ConfigDB,RequestURI,ScriptAliases) -> Ret`

Types:

`ConfigDB = config_db()`
`RequestURI = string()`
`ScriptAliases = [{FakeName,RealName}]`
`Ret = {ShortPath,AfterPath} | not_a_script`
`ShortPath = AfterPath = string()`

`real_name/3` traverses `ScriptAliases`, typically extracted from `ConfigDB`, and matches each `FakeName` with `RequestURI`. If a match is found `FakeName` is replaced with `RealName` in the match. If the resulting match is not an executable script `not_a_script` is returned. If it is a script the resulting script path is in two parts, that is `ShortPath` and `AfterPath` as defined in httpd_util:split_script_path/1. `config_db()` is the server config file in ETS table format as described in Inets Users Guide..

### AUTHORS

Joakim Grebenö - support@erlang.ericsson.se

inets 4.7.8
Copyright © 1991-2007 Ericsson AB