[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка фото с другого сайта
maximka787
Парни привет. Подскажите пожалуйста, что нужно написать в файле настроек сервера, чтобы пусть (домен) заменялся другим доменом, если фото отсутствует?

Пример

Есть на сайте логотип site.ru/img/logo.png.
Так вот если файла нет, то запрос шел бы на site2.ru/img/logo.png.

Я где-то видел такое, но когда понадобилось, не могу найти((

_____________
..Работает - не трогай!
icedfox
Я бы рекомендовал это делать на JS , зачем нагибать сервер такими проверками , браузер клиента не заметит чуть большей нагрузки wink.gif
maximka787
Ребят я уже давно этот вопрос решаю, сейчас настало время реализации. Помогите, если знаете..

У меня картинки переехали на сайт cdn.site.ru и есть главный сайт site.ru

Так вот, мне нужно, чтобы через htaccess картинки грузились с CDN в СЛУЧАЕ, ЕСЛИ НЕ НАЙДЕНЫ НА ГЛАВНОМ, тк часть осталась на основном сайте.. Картинки выводятся на сайте в разных местах + есть css на что напрашивается выход перенаправления только через htaccess, а не JS.

Я доделал решение, но у меня почему-то URL картинок не меняются.

RewriteEngine on
RewriteRule (.*)\.jpg$ http://cdn.site.ru/$1.jpg [L,R=301]


Мой пример работает, но SRC не меняется вообще, хотя и грузится с CDN верно. Я и не знаю, должно ли так быть.

_____________
..Работает - не трогай!
maximka787
В предыдущем примере проблема. Там всегда идет редирект.
Я сделал другим способом. Добавил две строки в мой PHP код.

Это всё было.
htaccess
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1



<?php

//добавил в начало скрипта
//Если файл найден, то ответ 200. Если нет, то запрос попадает в файл index.php

if(!empty($_GET['url']) && substr($_GET['url'], -4) == '.jpg')
{
header('location: http://cdn.site.ru/img/'.$_GET['url']);
exit;
}

?>

<img src="test.jpg" />


Всё тоже работает, но не заменяет URL для картинок.

_____________
..Работает - не трогай!
waldicom
В html и не должно ничего заменяться, да и не может.
Просто запрос картинки посылается на другой сервер

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
killer8080
maximka787
зачем редирект в PHP пихать? Достаточно .htaccess.
Цитата (maximka787 @ 6.05.2016 - 12:55)
Всё тоже работает, но не заменяет URL для картинок.

а как он по твоему должен его изменить? Это же всего лишь редирект biggrin.gif
maximka787
ну да, я подумал что и URL в HTML неплохо было бы поменять. А потом понял, что это если и делать то в самом PHP на этапе формирования контента.

killer8080
Потому что переадресация на иной сервер нужна в случае если только файл не найден на текущем сайте. А у меня получается или всё или ничего)))
В общем по изучаю сегодня синтаксис htaccess поподробнее.

_____________
..Работает - не трогай!
killer8080
Цитата (maximka787 @ 6.05.2016 - 16:46)
А у меня получается или всё или ничего)))

ну так условие поставь, если файл не существует

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)\.jpg$ http://cdn.site.ru/$1.jpg [L,R=301]

а если апач стоит за nginxом, то и этого не надо, nginx сам отдаст статику, а не существующий урл пробросит апачу.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.