我一直在查看许多示例,但无法理解这一点,可能是不可能的。我继承了一个 Wordpress 网站的烂摊子。
我有这个目录结构,Wordpress:
/wp-content/uploads/
/wp-content/uploads/2011
/wp-content/uploads/2012
/wp-content/uploads/Organised
/wp-content/uploads/Organised/0-9
/wp-content/uploads/Organised/A
/wp-content/uploads/Organised/B
/wp-content/uploads/Organised/ and so on ... to Z
文件夹中基本上有超过 93,000 个文件/wp-content/uploads/
,还有一些在 2011 和 2012 文件夹中。我需要移动 93,000 个文件,因此决定制作“Organised”文件夹,其中包含反映潜在文件的第一个字母/数量的文件夹。
虽然这不是问题,但通过移动它们,我需要确保外部请求仍然可以基于旧 URL 访问这些文件。
所以:
/wp-content/uploads/APicture.jpg
将重写为:
/wp-content/uploads/Organised/A/APicture.jpg
同时仍然允许访问实际的 URL,例如:
/wp-content/uploads/2012/AnotherPicture.jpg
我认为像这样的重写 URL 会起作用,但它不起作用,我尝试了很多变体,也许它不能像这样工作?
RewriteRule ^/wp-content/uploads/([^/]+)(\.png|\.jpg|\.bmp|\.gif)$ /wp-content/Organised/T/$1$2
注意:为了测试,我检查了一个 URL /wp-content/uploads/taylor-swift-harry-styles.jpg
,这就是为什么我对生成的重写 URL 进行硬编码,但我意识到它需要更改以匹配首字母。
感谢你的帮助。