Как перенаправить все созданные WordPress миниатюрные изображения на оригинальные - PullRequest
0 голосов
/ 05 мая 2019

Я переместил веб-сайт 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>

1 Ответ

1 голос
/ 05 мая 2019

Для удаления части измерения из ваших URL, вы можете использовать это регулярное выражение,

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

и заменить его, используя $1$2

Regex Demo

Следовательно, в плагине перенаправления WordPress вам нужно будет написать что-то вроде этого,

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

Вы можете сослаться на по этой ссылке о том, как использовать плагин перенаправления и настроить его.Я не очень знаком с плагинами перенаправления WordPress, но надеюсь, что эта информация поможет в решении вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...