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

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем bork75, 21 фев 2012.

  1. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Нужно, чтобы адреса были текущего сайта, а файлы брались с другого.

    Если через htaccess - это ведь по сути будет редирект?
    Ищется проверенный вариант.
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    Я в одном случае сделал таким образом:
    в папке с картинками файл .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($hCURLOPT_REFERER$URL);
            
    curl_setopt($hCURLOPT_CONNECTTIMEOUT5);
            
    curl_setopt($hCURLOPT_TIMEOUT10);
            
    curl_setopt($hCURLOPT_RETURNTRANSFER1);
            if(
    $link)
            {
              
    curl_setopt($hCURLOPT_HEADER1);
              
    curl_setopt($hCURLOPT_NOBODY1);
            }
            
    $c curl_exec($h);
            if(
    curl_getinfo($hCURLINFO_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);
        }
    ?>
    Пути к картинкам такого вида http://mysite.ru/images/image.jpg

    P.S. Вывод идет через echo, т.к. там еще идет наложение watermark.
     
    bork75 нравится это.
  3. jami

    jami Постоялец

    Регистр.:
    10 авг 2011
    Сообщения:
    114
    Симпатии:
    39
    Настраиваем проксирование в httpd.conf (mod_proxy), и задаем правила с директивой [P] :
    Код:
    RewriteEngine on
    RewriteBase /~quux/
    RewriteRule ^hotsheet/(.*)$ http://www.kartinki.com/hotsheet/$1 [P]
    
    отсюда: http://htaccess.net.ru/doc/mod_rewrite/index.php
     
    bork75 нравится это.