静态文件服务配置

静态文件服务涉及到的常用配置方法如下:

其中,

  1. IndexFiles为当访问目录时默认检索的文件名称列表(按照slice先后顺序进行检索),当检索的文件存在时则返回文件内容,否则展示目录列表(SetIndexFoldertrue时),默认的IndexFiles为:index.html, index.htm
  2. SetIndexFolder为设置是否在用户访问文件目录,且没有在目录下检索到IndexFiles时,则展示目录下的文件列表,默认为关闭;
  3. SetServerRoot为设置默认提供服务的静态文件目录,该目录会被自动添加到SearchPath中的第一个搜索路径;
  4. AddStaticPath为添加URI与目录路径的映射关系,可以自定义静态文件目录的访问URI规则;
  5. /SetRewriteMap为重写规则设置(类似于nginxrewrite),严格上来讲不仅仅是静态文件服务,当然也支持动态的路由注册的rewrite

示例1, 基本使用

示例2,静态目录映射

示例3,静态目录映射,优先级控制

静态目录映射的优先级按照绑定的URI精准度进行控制,绑定的URI越精准(深度优先匹配),那么优先级越高。

示例4,URI重写

gf框架的静态文件服务支持将任意的URI重写,替换为制定的URI,使用SetRewrite/SetRewriteMap方法。

示例,在/Users/john/Temp目录下只有两个文件test1.htmltest2.html

  1. 当我们访问 /test.html ,其实最终被重写到了 test1.html,返回的是该文件内容;
  2. 当我们访问 ,其实最终被重写到了 test2.html,返回的是该文件内容;