最近再部署测试环境时,考虑到我们的特殊需【转载请注明来源】【关注微信公众号:wwwtangshuangnet】求,希望按模块进行发布测试,每个模块被放【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。在一个文件夹中进行发布,所以不得不进行重【本文受版权保护】【未经授权禁止转载】写,来让请求fallback到目录下的i【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。ndex.html. 例如当我们访问 /【转载请注明来源】【未经授权禁止转载】some-module/xxx/xxx 【转载请注明来源】原创内容,盗版必究。时,实际上fallback到 /some本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。-module/index.html。而【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。我们发布测试模块时增量的,所以可能过两天【作者:唐霜】【本文受版权保护】会发布一个 any-module 来测试原创内容,盗版必究。【原创内容,转载请注明出处】,不大可能写死在 nginx 的 con转载请注明出处:www.tangshuang.net【本文受版权保护】fig 中。所以,我的想法是,在 ngi转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.netnx 中实现一种配置,可以实现这种能力。原创内容,盗版必究。转载请注明出处:www.tangshuang.net具体实现如下:
【本文首发于唐霜的博客】【转载请注明来源】location / {
try_files $uri $uri/ index.html @rewrite_uri;
}
location @rewite_uri {
if ($request_uri ~ /([a-z0-9_-:]+)/) {
set $tmp /$1/index.html;
rewrite ^ $tmp break;
}
}
使用 try_files 来在 ngin【本文受版权保护】【未经授权禁止转载】x 中实现 fallback 的能力。增著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net加了一个 @rewrite_uri 的规未经授权,禁止复制转载。【转载请注明来源】则,这个规则里面,对 $request_【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。uri 进行匹配,通过正则把顶层目录取出原创内容,盗版必究。未经授权,禁止复制转载。来,在用 rewrite 进行规定。
【本文受版权保护】【转载请注明来源】【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net通过这种方式,我们不仅可以去除顶层目录,转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。而且可以实现我们想要的重写效果。
【转载请注明来源】【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】
