我将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和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>
答案 0 :(得分:1)
要从网址中删除尺寸部分,可以使用此正则表达式,
(.*)-\d+[xX]\d+(\.\w+)
并使用$1$2
因此,在WordPress重定向插件中,您将必须编写如下内容,
Source: (.*)-\d+[xX]\d+(\.\w+)
Target: $1$2
您可以参考 this link 来了解如何使用重定向插件并进行配置。我对WordPress重定向插件不是很熟悉,但希望此信息有助于解决您的问题。