2

对于所有正则表达式专家来说,这应该相当容易,但是我们遇到了问题。

我们犯了一个错误,允许人们将图像上传到一个文件夹。现在我们被困在一个文件夹中的 150k jpg 图像中,这大大降低了我们的服务器速度。

人们仍然可以上传到这个文件夹(实时站点),我们需要慢慢解决这个问题。这个想法是将文件移动到这样的子文件夹:

/jpg/121765_180x135.jpg/jpg/12/17/121765_180x135.jpg

前两个/后两个字符/file.jpg

问题是少于 4 个字符的文件应该留在原处

4

1 回答 1

3

重写/jpg/121765_180x135.jpg/jpg/12/17/121765_180x135.jpg

RewriteEngine On
RewriteRule ^/?jpg/([0-9]{2})([0-9]{2})(.*)\.jpg$ /jpg/$1/$2/$1$2$3.jpg [L]

另一种方式:

RewriteEngine On
RewriteRule ^/?jpg/[0-9]{2}/[0-9]{2}/(.*)\.jpg$ /jpg/$1.jpg [L]

这些规则要么进入你的虚拟主机/服务器配置,要么进入你的文档根目录中的 htaccess 文件。

于 2012-10-14T03:54:11.510 回答