查看源代码 mod_alias (inets v9.3.1)
URL 别名。
Erlang Web 服务器内部 API,用于处理例如模块 mod_alias
导出的交互数据。
概要
函数
如果 Path
是一个目录,default_index/2
会开始搜索在配置指令 DirectoryIndex
中指定的资源或文件。如果找到合适的资源或文件,它会被附加到 Path
的末尾,然后返回。Path
在未找到合适的文件或 Path
不是目录时,将保持不变返回。config_db()
是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。
path/3
返回 RequestURI
中的文件 Path
(请参阅 RFC 1945)。如果交互数据 {real_name, {Path, AfterPath}}
已被 mod_alias
导出,则返回 Path
。如果没有导出交互数据,则使用 ServerRoot
来生成文件 Path
。config_db()
和 interaction_data()
的定义如 Inets 用户指南 中所述。
real_name/3
遍历 Aliases
,通常从 ConfigDB
中提取,并将每个 FakeName
与 RequestURI
匹配。如果找到匹配项,则在匹配项中将 FakeName
替换为 RealName
。结果路径被分成两部分,ShortPath
和 AfterPath
,如 httpd_util:split_path/1
中所定义。Path
从 ShortPath
生成,即 default_index/2
的结果,以 ShortPath
作为参数。config_db()
是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。
real_script_name/3
遍历 ScriptAliases
,通常从 ConfigDB
中提取,并将每个 FakeName
与 RequestURI
匹配。如果找到匹配项,则在匹配项中将 FakeName
替换为 RealName
。如果匹配的结果不是可执行脚本,则返回 not_a_script
。如果它是脚本,则生成的脚本路径分为两部分,ShortPath
和 AfterPath
,如 httpd_util:split_script_path/1
中所定义。config_db()
是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。
函数
-spec default_index(ConfigDB, Path) -> NewPath when ConfigDB :: ets:tid(), Path :: string(), NewPath :: string().
如果 Path
是一个目录,default_index/2
会开始搜索在配置指令 DirectoryIndex
中指定的资源或文件。如果找到合适的资源或文件,它会被附加到 Path
的末尾,然后返回。Path
在未找到合适的文件或 Path
不是目录时,将保持不变返回。config_db()
是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。
-spec path(Data, ConfigDB, RequestURI) -> Path when Data :: [{real_name, {Path, AfterPath}}], ConfigDB :: ets:tid(), RequestURI :: string(), AfterPath :: string(), Path :: string().
path/3
返回 RequestURI
中的文件 Path
(请参阅 RFC 1945)。如果交互数据 {real_name, {Path, AfterPath}}
已被 mod_alias
导出,则返回 Path
。如果没有导出交互数据,则使用 ServerRoot
来生成文件 Path
。config_db()
和 interaction_data()
的定义如 Inets 用户指南 中所述。
-spec real_name(ConfigDB, RequestURI, Aliases) -> ReturnPath when ConfigDB :: ets:tid(), RequestURI :: string(), Aliases :: [{FakeName, RealName}], ReturnPath :: {ShortPath, Path, AfterPath}, FakeName :: re:mp() | iodata() | unicode:charlist() | string(), RealName :: string(), ShortPath :: string(), Path :: string(), AfterPath :: string().
real_name/3
遍历 Aliases
,通常从 ConfigDB
中提取,并将每个 FakeName
与 RequestURI
匹配。如果找到匹配项,则在匹配项中将 FakeName
替换为 RealName
。结果路径被分成两部分,ShortPath
和 AfterPath
,如 httpd_util:split_path/1
中所定义。Path
从 ShortPath
生成,即 default_index/2
的结果,以 ShortPath
作为参数。config_db()
是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。
-spec real_script_name(ConfigDB, RequestURI, ScriptAliases) -> ReturnPath | not_a_script when ConfigDB :: ets:tid(), RequestURI :: string(), ScriptAliases :: list() | [{FakeName, RealName}], ReturnPath :: {ShortPath, AfterPath}, FakeName :: re:mp() | iodata() | unicode:charlist() | string(), RealName :: string(), ShortPath :: string(), AfterPath :: term().
real_script_name/3
遍历 ScriptAliases
,通常从 ConfigDB
中提取,并将每个 FakeName
与 RequestURI
匹配。如果找到匹配项,则在匹配项中将 FakeName
替换为 RealName
。如果匹配的结果不是可执行脚本,则返回 not_a_script
。如果它是脚本,则生成的脚本路径分为两部分,ShortPath
和 AfterPath
,如 httpd_util:split_script_path/1
中所定义。config_db()
是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。