htaccess редирект картинок на другой домен

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем new_forward, 23 янв 2015.

  1. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    Доброго времени суток, хочу перенести картинки на другой домен на другом сервере, но редирект туда не получается сделать:

    Код:
    RewriteEngine On
    RewriteRule ^images/stories/(.*)$ http://site2.ru/images/stories/$1 [L,R]

    Редиректы страниц в htaccess работают отлично, а вот с картинками какая то лажа....

    Что не так?
     
  2. svfolder

    svfolder Постоялец

    Регистр.:
    31 июл 2013
    Сообщения:
    96
    Симпатии:
    39
    У вас как минимум 1 ошибка [R=301,L]
     
  3. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    351
    Симпатии:
    124
    Относительно редиректа - может быть, но как я понял - человек не хочет редиректить на другой сайт. Он хочет, что б на текущем сайте отображались страницы и картинки, но что б картинки тянулись не с текущего сайта, а с другого...

    Вопрос к ТС, а не пробовали данную функцию реализовать правкой файла шаблона? Например заменить ссылки картинок, сделать не /images/stories/img.jpg, а httр://site2.ru/images/stories/img.jpg

    Насчет .htaccess попробуйте следующее правило:
    Код:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^images/stories/(.*)$ http://site2.ru/images/stories/$1 [QSA,L]
    
    если не сработает попробуйте это:
    Код:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} images/stories/.*
    RewriteRule (.*) http://site2.ru/$1 [QSA,L]
    
     
  4. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    Попробовал все предложенные варианты, не один не работает.... Когда открываешь картинку по урлу
    Перейти по ссылке складывается впечатление что htaccess вообще не работает.

    Выводы такие потому что даже редирект на www не срабатывает....
    Код:
    RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]
    
    Точно лажа.
     
  5. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    351
    Симпатии:
    124
    Редиректы www не срабатывают только когда обращаешься к картинке, или по всему сайту в целом?
     
  6. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    207
    Симпатии:
    266
    Похоже что перед apache стоит nginx и самостоятельно отдает статику.
    Посмотрите какие заголовки отдает сервер.
     
  7. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    только к картинке
     
  8. svfolder

    svfolder Постоялец

    Регистр.:
    31 июл 2013
    Сообщения:
    96
    Симпатии:
    39
    Нет не похоже! там же сказано что апачь.


    Вижу что редирект с www на домен без www както странно замудренно написан.
    Вот как оно более просто пишется.

    RewriteCond %{HTTP_HOST} ^www\.site1\.ru$
    RewriteRule (.*) Перейти по ссылке [R=301,L]


    Что касается картинок, всеже поясните, вам нужен именно редирект картинок или просто открытие с другого хоста?
     
  9. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    nginx есть

    Например: Картинка лежит на Перейти по ссылке.
     
  10. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    351
    Симпатии:
    124
    Все нормально там написано ;)
    У него правило добавляет www в начало, а вы ему написали правило, которое убирает Перейти по ссылке... Зачем?

    Как уже выше написал пользователь lag - у Вас на сервере картинки обрабатываются не при помощи apache, а при помощи nginx, поэтому какие бы Вы правила по работе с картинками не писали в htaccess - они работать не будут.

    Вам нужно править конфигурационный файл nginx и вносить правки туда. Другое дело, что на стандартных хостингах Вам не дадут права вносить правки в этот файл.
    Тут 2 варианта:
    1) попросить хостеров отключить обработку картинок nginx`ом для Вашего сайта, тогда начнут работать правила Апача. НО могут полезть ошибки, хотя кто его значет, что там в конфигурации у них написано...
    2) обратиться к хостерам с просьбой внести правку в конфигурационный файл nginx, если норм хостеры - откликнутся на просьбу.

    Правда я не знаю есть ли в nginx альтернатива апачевскому флагу QSA...