我看到一个类似问题的答案如下:
//301 Redirect Entire Directory
RedirectMatch 301 /blog/wp-content/uploads/(.*) /wp-content/uploads/$1
这是伟大的,但我有一个额外的问题:假设我有以下结构:
例子:
/blog/photos/default/1234/.photos/filename.jpg
/blog/photos/default/12/.photos/filename2.jpg
/blog/photos/default/123456/.photos/filename3.jpg
,现在需要重定向到:
/blog/photos/default/id/3/4/1234/.photos/filename.jpg
/blog/photos/default/id/1/2/12/.photos/filename2.jpg
/blog/photos/default/id/5/6/123456/.photos/filename3.jpg
你可以看到,这里现在有一个额外的结构:/id/x/y,其中x是原始id的倒数第二位,y是最后一位。
如何做到这一点?(不会有少于2位数字的情况,但旧的id可以像25位一样长…)
您可以使用以下规则:
RedirectMatch 301 ^(/blog/photos/default)/(d*(d)(d)/.+)$ $1/id/$3/$4/$2