2015-04-02 166 views
0

我在我的域中有兩個文件夾,我已經重命名。我想將一些重定向腳本添加到我的.htaccess文件中,以便具有舊鏈接的用戶可以到達正確的位置。我嘗試使用;.htaccess Url重定向問題

RedirectMatch 301 /oldfolder/subsection-01/(.*) example.com/new-folder/subsection/$1 

RedirectMatch 301 /oldfolder/(.*) example.com/new-folder/$1 

他們都工作!但是我所有的圖像鏈接打破,因爲服務器上的文件路徑有以下路徑:

example.com/sites/default/files/**oldfolder**/filename.jpg 

我一直在尋找一種方式,要麼排除以.jpg文件引用或確保只有文件夾與包括例如域uri 'example.com/oldfolder'被採取行動,但無濟於事。

我嘗試了以下技巧;

RedirectMatch 301 %{HTTP_HOST} example\.com/oldfolder/subsection-01/(.*) example.com/new-folder/subsection/$1 

RedirectMatch 301 example.com/oldfolder/(.*) example.com/new-folder/$1 

RewriteRule %{HTTP_HOST}.example\.com/oldfolder/subsection-01/$ example.com/new-folder/subsection/$1 [L] 

RewriteRule %{HTTP_HOST} ^www\.example\.com/oldfolder/(.*) example.com/new-folder/$1 [R=301,L] 

但他們要麼導致服務器501錯誤,要麼什麼都不做。

我希望社區能夠提供任何有用的幫助。

謝謝。

回答

0

使用開始停泊在您正則表達式,以確保當它在你開始你的模式只匹配:

RedirectMatch 301 ^/oldfolder/subsection-01/(.*) http://example.com/new-folder/subsection/$1 

RedirectMatch 301 ^/oldfolder/(.*) http://example.com/new-folder/$1