Блог

Сергей Сенаторов

Name: Sergey Senatorov

FullStack developer

Ссылки на сайт с удаленного сервера ?

Иногда количество медиа контента который тянется с тестовой копии достаточно большой. В таком случае на локальной копии имеет смысл заменить ссылки на сайт с удаленного сервера.
Для Apache это можно зделать следующим образом:

Правила для .htaccess
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://yoursite.ru/$1 [R,NC,L]

Проблема которая может возникнуть в таком случае это ресайз изображения. Система будет проверять их физическое наличие. Иногда это бывает важно. Чтобы изображения подтягивались уже отресайзеные, можно заменить условие в ядре. В таком случае мы убираем проверку на физическое наличие файла и ссылка идет уже на изображение с ресайзом.

/bitrix/modules/main/classes/general/file.php:1552 //elseif (!file_exists($io->GetPhysicalName($_SERVER["DOCUMENT_ROOT"].$cacheImageFileCheck)))

Либо чтобы избавится от исправлений внутри ядра, можно обернуть ресайз в него и добавить условие там. Как реализовать, решать вам.