如何将所有wordpress生成的缩略图重定向到原始图像

问题描述 投票:0回答:2

我将

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>
regex wordpress .htaccess mod-rewrite
2个回答
1
投票

要从 URL 中删除维度部分,您可以使用此正则表达式,

(.*)-\d+[xX]\d+(\.\w+)

并使用

$1$2

替换它

正则表达式演示

因此在 WordPress 重定向插件中,你必须编写这样的内容,

Source: (.*)-\d+[xX]\d+(\.\w+)
Target: $1$2

您可以参考此链接了解如何使用重定向插件并配置它。我对 WordPress 重定向插件不是很熟悉,但希望这些信息有助于解决您的问题。


-1
投票

只是想对你们俩提供的正则表达式表示衷心的感谢。它为我节省了 500,000 个索引节点。多年来一直很痛苦。终于解决了。

© www.soinside.com 2019 - 2024. All rights reserved.