• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. Помогите написать правильный редирект

Форумы Хостинг Помогите написать правильный редирект
zaga89
23.03.2015
хостинг: есть
домен: есть
Помогите написать правильный редирект
такая задача, урл несуществующих картинок редиректить нужно на php файл, где там уже будет образовываться новый урл для картинки...вот что пишем в htaccess :

RewriteCond %{REQUEST_FILENAME} ^.*\/images\/product_images\/(info_images|popup_images|thumbnail_images)\/(\d+)_(\d+)\.(jpg|jpeg|gif|png)$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*\/images\/product_images\/(info_images|popup_images|thumbnail_images)\/(\d+)_(\d+)\.(jpg|jpeg|gif|png)$ imagelocator.php?$1 [L]

По идее она должна делать редирект на скрипт imagelocator.php

Но редирект не происходит, почему? что не так? можете подсказать плиз
ZimbalisT
23.03.2015
хостинг: есть
домен: есть
а расширения картинок удалены из статики?
zaga89
23.03.2015
хостинг: есть
домен: есть
нет, тоесть нужно удалить из кеширования картинки?
ZimbalisT
23.03.2015
хостинг: есть
домен: есть
Нет, прошу прощения. Если картинки нет, то опции Передавать запрос на бекенд в случае, если статический файл не найден должно быть достаточно.
Попробуйте закоментировать ErrorDocument
Не уверен, но кажется у этой директивы приоритет выше чем у редиректа.
zaga89
23.03.2015
хостинг: есть
домен: есть
удалил вообще, но теперь выдает просто 404 ошибку от хостинга, тоесть по сути ниче не поменялось и редиректа нету
Евгений В.
23.03.2015
хостинг: есть
домен: нет
Попробуйте удалить расширения jpg|jpeg|gif|png из списка "Мои сайты" -- "настройка сайта" -- "Статические файлы" и проверить через 40 минут после этого.
zaga89
23.03.2015
хостинг: есть
домен: есть
проверял, как тока посоветовали выше, не помогло, в поддержке посоветовали такое правило:
RedirectMatch ^/images/product_images/(info_images|popup_images|thumbnail_images)/(.*)$ http://сайт/imagelocator.php?$1

этот редирект работает но он отдает 302 редирект а мне нужен 301, а это тока через RewriteRule правило....шо деееелаать((((
zaga89
23.03.2015
хостинг: есть
домен: есть
в техподдержке сказали что правило
RewriteRule ^.*\/images\/product_images\/(info_images|popup_images|thumbnail_images)\/(\d+)_(\d+)\.(jpg|jpeg|gif|png)$ imagelocator.php?$1 [L]
не правильное, но поправить само правило отказались....мож кто здесь на форуме поможет правильно оформить?? целый день бьюсь с этим редиректом
ZimbalisT
23.03.2015
хостинг: есть
домен: есть
zaga89
23.03.2015
хостинг: есть
домен: есть
нет не подойдет, мне нужно редирект на php файл где мы уже эту ссылку обработаем...но вот с редиректом проблема....
ZimbalisT
23.03.2015
хостинг: есть
домен: есть
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(jpg|jpeg|gif|png)$ /imagelocator.php [L]
ну вот так же должен работать
zaga89
23.03.2015
хостинг: есть
домен: есть
хммм....да, вот этот вариант работает
благодарю, буду пробовать, данные из php выводит, по идее то что надо, завтра отпишусь как всё доделаем, спасибо за подсказку))
zaga89
24.03.2015
хостинг: есть
домен: есть
вроде сделали, всё работает, но волнует проблема. в логах хостинга пишет тока:
GET /images/product_images/popup_images/69563_1.jpg HTTP/1.1" 301 12 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.39 Safari/537.36 OPR/29.0.1795.21 (Edition beta)
обычно после 301 пишет 200 ответ, загрузки новой страницы, но почему то в логах нету, хотя ответ сервера правильный с 301 и новой ссылкой, и ссылка новая загружается....все работает
Евгений В.
24.03.2015
хостинг: есть
домен: нет
Смотрите в следующих строках лога (позже записи с 301-м), так как тут механика какая - один запрос к серверу - один ответ.
То есть, браузер посылает запрос серверу, получает ответ 301 и новый адрес страницы, посылает новый запрос (по полученному в предыдущем адресу), получает ответ 200 и html-код страницы.
zaga89
24.03.2015
хостинг: есть
домен: есть
так вот в том то и проблема, что следующих логов нету с 200 ответом...я ж о чем, как то странно..хотя проверял ответ сервера, всё правильно отдается. и в инструментах разработчика показывается два запроса, первый 301 второй 200, как и надо...а в логах почему то нету такого
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города