我需要下面的例子国防部重写变量子目录内子目录
http://www.domain.com/a/b/$var1/newsubdir/c/$var2/$var3/$foo.mp3
改写到:
http://www.domain.com/a/b/$var1/subdir/c/$var2/$var3/$foo.mp3
我的代码需要现在称之为“newsubdir”,如果不是“子目录”。由于这是许多不同变量子目录($ var1)中的子目录,因此这不仅仅是重命名一个文件夹的问题。
$ VAR1,$ VAR2,$ VAR3是产生取决于ACCOUNTID,用户等物理文件路径(不能马上改变) $ foo是一个文件名
所以我只是寻找适当的重写规则,可以简单地处理“$ var1”,并基本上忽略其余部分。我想在规则中包含“/ a/b /”,因为代码中可能有其他“/ b /”实例可能会被此规则捕获。
谢谢!这很简单。我相信anubhava的答案也是足够的。我还遇到了另一个与原始问题无关的问题,但对于使用Amazon S3的用户可能会有用。我意识到我需要在我的ProxyPass中应用此功能。但是没有意识到我需要使用ProxyPassMatch。所以它会看起来像这样:ProxyPassMatch ^/a/b /(.+)/ newsubdir /(.+)/(.+)/(.+)http://s3-us-west-2.amazonaws。 COM/mybucket /一个/ $ 1 /子目录/ $ 2/$ 3/$ 4 – kenitech