Зависит от того, находится ли он на одном сервере или нет, как именно вам следует это обрабатывать.
Если он находится на том же сервере и в корне документа, это будет проще всего с переписать, используя mod_rewrite
.
Внутри вашего основного каталога .htaccess
file:
RewriteEngine on
RewriteBase /
RewriteRule ^/images/(.+)$ /mycdn.com/images/$1 [L]
Если он не находится в корне документа или на другом сервере, перенаправление может быть проще.
RedirectMatch ^/images/(.+)$ http://mycdn.com/images/$1
Хотя это будет заметно на клиенте, если он просматривал журнал запросов.Если вы хотите, чтобы он был прозрачным, то вы можете прокси-запрос на вашем сервере.
Создайте файл PHP (или другой язык, который вы используете, вы упоминаете LAMP, следовательно, PHP).
<?php
$reqImage = $_GET['image'];
$mimeTypes = array('gif' => 'gif', 'jpg' => 'jpeg', 'jpeg' => 'jpeg',
'png' => 'png');
$matches = array();
if (preg_match("/^[-a-zA-Z0-9_]+\.(gif|jpg|png)$/", $reqImage, $matches)) {
header('Content-Type: image/' . $mimeTypes[$matches[1]]);
@readfile("http://mycdn.com/images/" . $reqImage);
} else {
header('HTTP/1.0 404 Not Found');
}
exit;
Обратите внимание на необходимость выдавать тип интернет-медиа при предоставлении изображения, поскольку Apache будет ожидать чего-то отличного от PHP-файла и обычно обрабатывает это для вас.