mod_alias
URL aliasing.
Erlang Webserver Server internal API for handling of things such as interaction data exported by the mod_alias module.
Functions
default_index(ConfigDB, Path) -> NewPath
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
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
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
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..