Как не хранить изображения у себя на сервере?

12
S
На сайте с 28.01.2016
Offline
44
1981

Хочу разгрузить сервер от кучи изображений и подгружать их из внешних ресурсов.

Так, например, на постороннем сайте есть изображение http://site.ru/toys/misha.jpg

У меня в коде есть ссылка <img src='/toys/misha.jpg'

Нужно подтягивать это изображение из внешнего сайта при этом, чтобы поисковики и пользователи этого не видели в исходном коде, буд-то оно у меня на сервере.

Такое возможно?

dma84
На сайте с 21.04.2009
Offline
168
#1

Возможно через ModRewrite


RewriteEngine On
RewriteCond %{REQUESRT_FILENAME} !-f
RewriteCond %{REQUESRT_FILENAME} \.(jpg|jpeg|png|gif)$ [NC]
RewriteRule (.*) http://site.com/$1 [R=301,L]

Правда поисковики просекут по 301 ответу, но в коде всё будет нормально.

Или второй вариант через скрипт


RewriteEngine On
RewriteCond %{REQUESRT_FILENAME} !-f
RewriteCond %{REQUESRT_FILENAME} \.(jpg|jpeg|png|gif)$ [NC]
RewriteRule (.*) /image.php [L]

Сам скрипт читает REQUEST_URI и грузит соответствующий файл с другого сервера, но тут нагрузка уже будет на сервер поболе.

Ещё есть вариант через nginx, но это не ко мне, извиняйте.

halipso
На сайте с 14.10.2016
Offline
18
#2

Можно "прокси" сделать на PHP.

Или через htaccess как уже выше предложили.

danforth
На сайте с 18.12.2015
Offline
153
#3
  • Через mod_rewrite
  • Через base64

  • <?php

    $file = base64_encode(file_get_contents("http://placehold.it/350x150"));

    ?>

    <img src="data:image/png;base64,<?=$file?>"/>

Но, в любой момент ваш IP может попасть в бан, и вы пролетаете с картинками на сайте. Место на диске не так уж много стоит, намного сложнее уследить за доступностью ресурсов на посторонних серверах. В добавок ко всему, если сервер-донор будет хорошо нагружен, ваш сайт также начнет долго отдавать контент.

Junior Web Developer
S
На сайте с 28.01.2016
Offline
44
#4
danforth:
    если сервер-донор будет хорошо нагружен, ваш сайт также начнет долго отдавать контент.

Да здесь надо сравнить минусы с плюсами.

---------- Добавлено 14.10.2016 в 19:42 ----------

dma84:
, но тут нагрузка уже будет на сервер поболе

Да это важно, придется наверное на сервер сохранять.

В любом случае спасибо за варианты - очень познавательно.☝

Mik Foxi
На сайте с 02.03.2011
Offline
1214
#5

Проксирование - не разгрузит сервер, а наоборот его в разы нагрузит еще больше.

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
L
На сайте с 10.02.2015
Offline
260
#6

Что вопрос глупый, что некоторые ответы :)

В чем проблема показать, что рисунки с другого сайта/домена?

Можете не прописывать атрибут src у рисунков (ну или всем одну заглушку), а какой-то data-src, а потом js добавляет к нему домен, где хранятся рисунки.

Заодно реализовать ленивую загрузку рисунков.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#7

Нет, вам нужно создать поддомен какой-нибудь, например img.site.ru его привязать к другому серверу на котором будут ваши картинки.

Далее на всём сайте замените пути на картинки.

Вот тогда будет разгрузка.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
Mik Foxi
На сайте с 02.03.2011
Offline
1214
#8

livetv, в чем смысл данных извратов?

S
На сайте с 28.01.2016
Offline
44
#9
livetv:

Можете не прописывать атрибут src у рисунков (ну или всем одну заглушку), а какой-то data-src, а потом js добавляет к нему домен, где хранятся рисунки.
Заодно реализовать ленивую загрузку рисунков.

Если делать это через яваскрипт, то вообще одни плюсы. Ведь я вообще не работаю с изображениями, их грузит браузер пользователя напрямую.

Я не силен в яваскрипте, я по php.

Сейчас набросаю - покажу для оценки)

Для ПС только будут видны источники картинок. Хотя это не так критично.

---------- Добавлено 15.10.2016 в 14:50 ----------

LEOnidUKG:
Нет, вам нужно создать поддомен какой-нибудь, например img.site.ru его привязать к другому серверу на котором будут ваши картинки.

Далее на всём сайте замените пути на картинки.

Вот тогда будет разгрузка.

Тоже хороший вариант.

Kronbberg
На сайте с 14.03.2011
Offline
62
#10

Это все ради того чтобы чтобы разгрузить пару гиг на сервере? По моему все варианты создадут больше нагрузки на сервер + проблемы при возможном удалении картинок на их месте локации.

::::::::::LinkBoss.net - Трастовые ссылки для увеличения трафика в 10 раз! (http://linkboss.net/)::::::::::
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий