2013-04-23 46 views
1

我試圖想出一個規則,將所有的PDF文件重定向到一個不同的目錄遞歸,保留路徑,除了我正在做的改變。用.htaccess規則遞歸地重定向所有PDF文件?

初始目錄是/可溼性粉劑內容/上傳 目標目錄是/編譯/可溼性粉劑內容/上傳

所以/wp-content/uploads/2013/03/LW_Stevens.pdf

會重定向到/build/wp-content/uploads/2013/03/LW_Stevens.pdf

RewriteEngine On 
RewriteRule ^wp-content/uploads/*/(.+\.pdf)$ build/wp-content/uploads/*/$1 [L] 

顯然/ * /一部分是錯誤的,我會怎麼做這是否正確?

+0

取決於您需要匹配的內容。 '(。*)'將匹配任何內容並將值返回到$ 1(將您的文件名引用更改爲$ 2)。您可以對其進行優化以將您的匹配限制爲有效路徑等。 – showdev 2013-04-23 21:26:01

回答

1

這是我的建議,以匹配有或沒有路徑後的初始目錄。 如果在初始目錄之後沒有路徑,它將被忽略。

RewriteRule ^wp-content\/uploads\/(?:(.+)\/)?(.+\.pdf)$ build/wp-content/uploads/$1/$2 [L] 

你可以看到返回的比賽在這裏: http://rubular.com/r/16io6ZVSJc

0

這個替換您的規則:

RewriteRule ^(wp-content/uploads/.*?/[^.]+\.pdf)$ /build/$1 [L,NC] 

並確保這條規則被放置在其他標準的WordPress的規則在你的.htaccess 。