我需要下面的例子國防部重寫變量子目錄內子目錄
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