查看源代码 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 来生成文件 Pathconfig_db()interaction_data() 的定义如 Inets 用户指南 中所述。

real_name/3 遍历 Aliases,通常从 ConfigDB 中提取,并将每个 FakeNameRequestURI 匹配。如果找到匹配项,则在匹配项中将 FakeName 替换为 RealName。结果路径被分成两部分,ShortPathAfterPath,如 httpd_util:split_path/1 中所定义。PathShortPath 生成,即 default_index/2 的结果,以 ShortPath 作为参数。config_db() 是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。

real_script_name/3 遍历 ScriptAliases,通常从 ConfigDB 中提取,并将每个 FakeNameRequestURI 匹配。如果找到匹配项,则在匹配项中将 FakeName 替换为 RealName。如果匹配的结果不是可执行脚本,则返回 not_a_script。如果它是脚本,则生成的脚本路径分为两部分,ShortPathAfterPath,如 httpd_util:split_script_path/1 中所定义。config_db() 是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。

函数

链接到此函数

default_index(ConfigDB, Path)

查看源代码
-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 用户指南 中所述。

链接到此函数

path(Data, ConfigDB, RequestURI)

查看源代码
-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 来生成文件 Pathconfig_db()interaction_data() 的定义如 Inets 用户指南 中所述。

链接到此函数

real_name(ConfigDB, RequestURI, Aliases)

查看源代码
-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 中提取,并将每个 FakeNameRequestURI 匹配。如果找到匹配项,则在匹配项中将 FakeName 替换为 RealName。结果路径被分成两部分,ShortPathAfterPath,如 httpd_util:split_path/1 中所定义。PathShortPath 生成,即 default_index/2 的结果,以 ShortPath 作为参数。config_db() 是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。

链接到此函数

real_script_name(ConfigDB, RequestURI, ScriptAliases)

查看源代码
-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 中提取,并将每个 FakeNameRequestURI 匹配。如果找到匹配项,则在匹配项中将 FakeName 替换为 RealName。如果匹配的结果不是可执行脚本,则返回 not_a_script。如果它是脚本,则生成的脚本路径分为两部分,ShortPathAfterPath,如 httpd_util:split_script_path/1 中所定义。config_db() 是 ETS 表格式的服务器配置文件,如 Inets 用户指南 中所述。