在nginx入口中删除某些路径

时间:2019-04-03 07:28:01

标签: nginx url-rewriting nginx-ingress

我有一个在根目录上运行的Web服务器。

但是我想将某个路径植根到其他路径:

/anydir1/anydir2/somepath1/somepath2/somefile.js?ver=12345 -> /somepath1/somepath2/somefile.js?ver=12345

其他路径不应受到影响:

/anydir1/somepath1/somefile.js?ver=12345 -> /anydir1/somepath1/somefile.js?ver=12345

我试图在入口设置两条路径:

annotations:
  nginx.ingress.kubernetes.io/rewrite-target: /$1

...

rules:
- host: myhost.com
  http:
    paths:
    - path: /anydir1/anydir2/(.*)
      ...
    - path: /
      ...

我尝试了许多基于https://kubernetes.github.io/ingress-nginx/examples/rewrite/#rewrite-target的组合。 但是有时路径会像$1$1一样被串联两次。 有时还有其他问题。很难描述我遇到的所有问题,因为我尝试从几个小时开始进行设置。

有什么提示吗?

预期结果:

/anydir1/anydir2/somepath1/somepath2/somefile.js?ver=12345 -> /somepath1/somepath2/somefile.js?ver=12345
/anydir1/anydir2/somepath1/somefile.js?ver=12345 -> /somepath1/somefile.js?ver=12345
/anydir1/anydir2/somepath1/ -> /somepath1/
/anydir1/anydir2/ -> /
/ -> /
anydir3/somefile.js -> anydir3/somefile.js
somefile.js -> somefile.js

0 个答案:

没有答案