1

我需要重定向一些 WordPress 上传文件夹,而别管其他人。例如,我需要重定向http://www.mysite.com/wp-content/uploads/2009/08/image.jpghttp://www.mysite.com/assets/2009/08/image.jpg.

我试过这个:

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

我正在使用RedirectMatch其他重定向,并且它们正在工作,因此RedirectMatch已启用。

我不确定我错过了什么。

谢谢你的帮助。

4

1 回答 1

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.jpg重定向到http://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
于 2012-12-21T06:16:22.813 回答