我需要重定向一些WordPress上传文件夹,让别人独自一人。例如,我需要将http://www.mysite.com/wp-content/uploads/2009/08/image.jpg
重定向到http://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
。
我不确定我错过了什么。
感谢您的帮助。
答案 0 :(得分: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