Якщо є підтримка php та mod_rewrite, то можна так:
.htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^images\/(.*).jpg$ images.php?path=$1
images.php:
header("Content-Type: image/jpeg");
    header("Content-Length: " .(string)(filesize($path)));
    $base_path = 'images/';
    $path = $base_path . $_GET['path'] . '.jpg';
    
    $md5 = md5_file($path);
    
    if (!file_exists('cache/' . $md5 . '.jpg')) {
        list($width, $height) = getimagesize($path);
        $newwidth = 1000;
        $newheight = 1000;
        $thumb = imagecreatetruecolor($newwidth, $newheight);
        $source = imagecreatefromjpeg($path);
        imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        ob_start();
        imagejpeg($thumb);
        $data = ob_get_contents();
        ob_end_clean();
        file_put_contents('cache/' . $md5 . '.jpg', $data);
    }
    
    echo file_get_contents('cache/' . $md5 . '.jpg');
В папку cache будуть кидатись закешовані зображення. Над newwidth та newheight потрібно буде попрацювати.
P.S. Сподобалась задачка. Спеціально для вас написав 