Перенаправить 404 изображения с горячей ссылкой на одно изображение?

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

Основой сайта является предоставление пользователям возможности хотлинковать изображения с него, размещать подписи на форумах/комментарии в блогах и так далее. Мне было интересно, есть ли способ перенаправить все эти неработающие ссылки на изображения на одно изображение, которое будет отображаться на их странице? (в основном с небольшим сообщением о том, что сайты поддерживают новые изображения!)

Я разрабатываю новый сайт на Kohana и использую CPanel для администрирования хостинга (если что-то из этого поможет).


person Kiada    schedule 04.05.2010    source источник
comment
измените свой 404.html/.php, чтобы он указывал на изображение   -  person KevinDTimm    schedule 04.05.2010
comment
KevinDTimm: Браузеры не будут отображать сообщения 404, которые они получили для изображений. Вы должны скрыть тот факт, что изображение не было найдено.   -  person Tgr    schedule 04.05.2010
comment
и поскольку вы упомянули кохану, см. ошибка"> stackoverflow.com/questions/827458/   -  person KevinDTimm    schedule 04.05.2010
comment
@Tgr - проблема не в браузере, а в сервере   -  person KevinDTimm    schedule 04.05.2010


Ответы (3)


Ну, я думаю, поскольку вы используете PHP, есть какая-то функция «получить изображение на основе идентификатора».

Если вы храните свои изображения в каталоге, попробуйте использовать

file_exists('path/to/my/img.png') ? $image = 'path/to/my/img.png' : $image = 'path/to/my/default/img.png';

Если вы храните их в БД, следуйте той же логике. Вместо использования file_exists() проверьте, что запрос что-то вернул.

person Ben    schedule 04.05.2010

Если доступно mod_rewrite, вы можете добавить правило перезаписи для всех изображений, не соответствующих именам файлов, вместе с RewriteCond для фильтрации запросов с вашего собственного сайта в соответствии с HTTP_REFERER. Я думаю, что эта статья объяснит вам это более подробно.

person Ignas R    schedule 04.05.2010

Самый простой способ (на Apache):

 ErrorDocument 404 /url/pointing/to/image/you/want/to/serve.jpg

Но это будет обслуживать изображение для ВСЕХ 404, в vhost/location/directory, для которого вы указываете этот обработчик, поэтому простая опечатка в законном запросе все равно получит это изображение.

person Marc B    schedule 04.05.2010