我将
wordpress
网站从一台服务器移动到另一台服务器,我需要节省磁盘空间。所以我写了一个脚本来删除所有图像生成的文件。
find . -name '*-[0-9][0-9]x[0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9]x[0-9][0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9]x[0-9][0-9][0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9][0-9]x[0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9][0-9]x[0-9][0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9][0-9]x[0-9][0-9][0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9][0-9][0-9]x[0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9][0-9][0-9]x[0-9][0-9][0-9].*' | xargs rm -f
find . -name '*-[0-9][0-9][0-9][0-9]x[0-9][0-9][0-9][0-9].*' | xargs rm -f
我需要将缩略图的所有 url 请求重定向到默认图像,因为这将是一个死链接..
一些例子
/wp-content/uploads/2017/03/image-200x200.png to /wp-content/uploads/2017/03/image.png
/wp-content/uploads/2019/05/image-20x1200.tiff to /wp-content/uploads/2018/12/image.tiff
/wp-content/uploads/2018/12/image-1900x300.png to /wp-content/uploads/2019/05/image.png
/wp-content/uploads/2019/05/image-30x30.gif to /wp-content/uploads/2019/05/image.gif
/wp-content/uploads/2019/05/image1-200x50.jpg to /wp-content/uploads/2019/05/image1.jpg
/wp-content/uploads/2019/05/imag2e-2010x2100.jpeg to /wp-content/uploads/2019/05/imag2e.jpeg
我需要使用图像分辨率文件名的最大 4 位长度的所有可能组合来完成此操作。
有什么办法可以用.htaccess 做到这一点吗?或者你通过 wordpress api 或插件建议其他东西吗?
我不是 mod_rewrite 和重写条件方面的专家,我尝试过这个,但不起作用
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{REQUEST_FILENAME} !/wp-content/*/*/.*
RewriteRule ^/wp-content/uploads/([0-9]+)/([0-9]+)/-([0-9]+)x([0-9]+)(.jpeg|.png|.jpg|.tiff|bmp)$ ^wp-content/uploads/$1/$2/-$5 [QSA,L]
</IfModule>