На старом хостинге все устроено так.
есть два сайта. две папки.. один site.ru и второй m.site.ru .
На мобильной версии сайта, когда отображаются картинки , происходит при помощи htaccess - resize изображений, который находятся в папке site.ru.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING}
Файл resize.php
$filename = $_GET['file'];
$token = $_GET['token'];
$resized_filename = $simpla->image->resize($filename);
if(is_readable($resized_filename)) /* Возвращает true */
{
header('Content-type: image');
print file_get_contents($resized_filename);
}
Сама функция resize
function resize($filename)
{
list($source_file, $width , $height, $set_watermark) = $this->get_resize_params($filename);
// Если вайл удаленный (http://), зальем его себе
if(substr($source_file, 0, 7) == 'http://')
{
// Имя оригинального файла
if(!$original_file = $this->download_image($source_file))
return false;
$resized_file = $this->add_resize_params($original_file, $width, $height, $set_watermark);
}
else
{
$original_file = $source_file;
}
$resized_file = $this->add_resize_params($original_file, $width, $height, $set_watermark);
// Пути к папкам с картинками
$main_site_root_dir = "/var/www/vhosts/site.ru/httpdocs/";
/*$originals_dir = $this->config->root_dir.$this->config->original_images_dir;
$preview_dir = $this->config->root_dir.$this->config->resized_images_dir;*/
$originals_dir = $main_site_root_dir.$this->config->original_images_dir;
$preview_dir = $main_site_root_dir.$this->config->resized_images_dir;
$watermark_offet_x = $this->settings->watermark_offset_x;
$watermark_offet_y = $this->settings->watermark_offset_y;
$sharpen = min(100, $this->settings->images_sharpen)/100;
$watermark_transparency = 1-min(100, $this->settings->watermark_transparency)/100;
if($set_watermark && is_file($this->config->root_dir.$this->config->watermark_file))
$watermark = $this->config->root_dir.$this->config->watermark_file;
else
$watermark = null;
if(class_exists('Imagick') && $this->config->use_imagick)
$this->image_constrain_imagick($originals_dir.$original_file, $preview_dir.$resized_file, $width, $height, $watermark, $watermark_offet_x, $watermark_offet_y, $watermark_transparency, $sharpen);
else
$this->image_constrain_gd($originals_dir.$original_file, $preview_dir.$resized_file, $width, $height, $watermark, $watermark_offet_x, $watermark_offet_y, $watermark_transparency);
return $preview_dir.$resized_file;
}
На новом хостинге не хочет показывать картинки.. увидел в логах какие то странные ошибки, не мог разобрать их..
File does not exist: /var/www/vhosts/site.ru/m.site.ru/\xef\xbb\xbfhttp:, referer: http://m.site.ru/product/sds