2012-12-21 36 views
1

我需要重定向一些WordPress的上傳文件夾,並獨自離開他人。例如,我需要將http://www.mysite.com/wp-content/uploads/2009/08/image.jpg重定向到http://www.mysite.com/assets/2009/08/image.jpg改寫具體WordPress的上傳文件夾的.htaccess與

我嘗試這樣做:

RedirectMatch 301 http://www.mysite.com/assets/2009/08/(.*)$ http://www.mysite.com/wp-content/uploads/2009/08/$1 

我使用RedirectMatch其他重定向和他們的工作如此RedirectMatch啓用。

我不知道我錯過了什麼。

感謝您的任何幫助。

回答

2

協議和主機名不進入比賽在RedirectMatch指令。它只匹配URI(主機名後的所有內容,例如/wp-content/uploads/2009/08/image.jpg)。此外,由於要重定向到同一個網站,你並不需要在你的目標http://www.mysite.com之一:

RedirectMatch 301 ^/assets/2009/08/(.*)$ /wp-content/uploads/2009/08/$1 

但你要問的問題是:

我需要重定向http://www.mysite.com/wp-content/uploads/2009/08/image.jpghttp://www.mysite.com/assets/2009/08/image.jpg

這將意味着你,如果你想要去的wp-content 資產已經拿到了兩件事情倒退。你需要交換它們:

RedirectMatch 301 ^/wp-content/uploads/2009/08/(.*)$ /assets/2009/08/$1 

或者你可以更加普遍:

RedirectMatch 301 ^/wp-content/uploads/([0-9]{4})/([0-9]{2})/(.*)$ /assets/$1/$2/$3 
+0

感謝這個完美工作。不知道爲什麼我讓他們倒退。但現在我知道了,而且知道是戰鬥的一半! –