# Вариант 1, без переадресации
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.?images/(.+)$ public/images/$1
# Вариант 2, с переадресацией
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.?images/(.+)$ /public/images/$1 [R,L]
1. Запрос на несуществующий файл /images/1.jpg выдаст содержимое /public/images/1.jpg;
2. Запрос на несуществующий файл /images/1.jpg получит ответ, что искать его надо по адресу /public/images/1.jpg, то есть выполнится переадресация (2 запроса к серверу в сумме).