0
被刪除我嘗試撰寫該重寫這個
http://my.domain.pl/subdir/a/b/c/d/foo.bar
這個
http://my.domain.pl/subdir/b/c/d/foo.bar
沒有a/
一個重寫規則目標網址中的文件夾。
subdir
是放置.htaccess的文件夾。該規則必須刪除subdir
旁邊的第一個文件夾,而不管路徑後面有多少個文件夾。
因此,例如,該
http://my.domain.pl/subdir/a/b/c/d/ghi/hij/foo.bar
應rewrited這個
http://my.domain.pl/subdir/b/c/d/ghi/hij/foo.bar
爲好。
我的做法
我準備的規則,但我想象它沒有工作:
RewriteRule ^[^/]+/(.+)\.([^/]+)$ $1.$2 [L]
此規則rewrited
http://my.domain.pl/subdir/a/b/c/d/foo.bar
到
http://my.domain.pl/subdir/foo.bar
奇怪的是一個非常類似的規則,沒有在$1.$2
的時間段,但沒有一封信被重寫,因爲我預期。我的意思是這樣的規則:
RewriteRule ^[^/]+/(.+)\.([^/]+)$ $1x$2 [L]
它rewrited這
http://my.domain.pl/subdir/a/b/c/d/foo.bar
這個
http://my.domain.pl/subdir/b/c/d/fooxbar
在逃避這樣$1\.$2
規則沒有幫助的時期。
問題
如何創建規則刪除該路徑的第一個文件夾?
它不工作。這個路徑收縮在循環中執行幾次。我的規則也是同樣的問題。所以我們必須制定一個規則來處理只收縮的規則。我們可以添加一個RuleCond來檢查「a」文件夾是否存在,並在存在時進行重寫,但是應該知道該文件夾的名稱。 – trzczy