База картинок с другого сайта, а url своего сайта

bork75

The Team
Регистрация
21 Июн 2008
Сообщения
1.455
Реакции
734
Нужно, чтобы адреса были текущего сайта, а файлы брались с другого.

Если через htaccess - это ведь по сути будет редирект?
Ищется проверенный вариант.
 
Я в одном случае сделал таким образом:
в папке с картинками файл .htaccess следующего содержания
Код:
RewriteEngine on
Options +FollowSymlinks
RewriteRule ^(.*)$ index.php [L]
и та же файл index.php
PHP:
<?
header('Content-Type: image/jpeg');
  function GetURL($URL, $link=false)
    {
        $h = curl_init($URL);
        curl_setopt($h, CURLOPT_REFERER, $URL);
        curl_setopt($h, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($h, CURLOPT_TIMEOUT, 10);
        curl_setopt($h, CURLOPT_RETURNTRANSFER, 1);
        if($link)
        {
          curl_setopt($h, CURLOPT_HEADER, 1);
          curl_setopt($h, CURLOPT_NOBODY, 1);
        }
        $c = curl_exec($h);
        if(curl_getinfo($h, CURLINFO_HTTP_CODE) !== 200)
            $c = false;
        curl_close($h);
        if($link && $c)
            return $URL;
        return $c;
    }
 
$f = explode('/', $_SERVER['REQUEST_URI']);
if(file_exists('./'.$f[2]))
    {
    $s = file_get_contents('./'.$f[2]);
    echo($s);
    }
else
    if(GetURL('http://site.ru/images/'.$f[2], 1))
        {
        $s = GetURL('http://site.ru/images/'.$f[2]);
        echo $s;
        }
    else
    {
    $s = file_get_contents('./no_picture.jpg');
    echo($s);
    }
?>

Пути к картинкам такого вида Для просмотра ссылки Войди или Зарегистрируйся

P.S. Вывод идет через echo, т.к. там еще идет наложение watermark.
 
Настраиваем проксирование в httpd.conf (mod_proxy), и задаем правила с директивой [P] :
Код:
RewriteEngine on
RewriteBase /~quux/
RewriteRule ^hotsheet/(.*)$ http://www.kartinki.com/hotsheet/$1 [P]
отсюда: Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху