Перенаправление URL изображений на страницу через htaccess
Я пытаюсь перенаправить URL изображений на страницу. Я использовал плагин Redirection с кодом 301, но это не сработало.
Например: http://mywebsite.com/wp-content/uploads/2015/02/Contestant-11.jpg должно перенаправлять на mywebsite.com/page
Я использовал настройку "Ссылка на" → "Медиафайл" в настройках отдельных изображений, так как я использую плагин Social gallery, и ему нужно, чтобы изображения были привязаны к "Медиафайлу" (поскольку это плагин для лайтбокса с социальным шарингом).
Как я могу перенаправить все URL изображений на нужную мне страницу с помощью htaccess?
Вам нужно добавить правило перезаписи в ваш .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !/wp-admin/ [NC]
RewriteRule ^wp-content/uploads/.+?\.(jpe?g|png|gif|svg)$ /my-page [R=301,L]
</IfModule>
Добавьте это после всех правил, добавленных WordPress. Вам нужно заменить /my-page на ярлык (slug) страницы, на которую нужно перенаправлять.
Спасибо. Это сработало. Но все изображения на сайте не отображаются.
TheGuy
Спасибо за помощь. Есть ли способ перенаправлять отдельные изображения на 'my-page' вместо самой папки.
TheGuy
Да, просто используйте Redirect /wp-content/uploads/file.jpg /page-to-redirect-to
TheDeadMedic
Большое спасибо. Проблема решена.
У меня есть сайт конкурса домашних животных, где пользователи голосуют за фотографии питомцев. Пользователи также могут делиться фотографиями питомцев в социальных сетях.
Проблема до сих пор заключалась в том, что когда пользователь делился фотографией питомца в Facebook, делилась только сама фотография, а не страница. С вашей помощью мне удалось перенаправить изображение на страницу конкурса питомцев. Но теперь, когда пользователь делится конкретной фотографией питомца, в соцсетях отображается страница конкурса с миниатюрой первой фотографии питомца на странице.
Не могли бы вы предложить решение этой проблемы?
TheGuy