2012-05-22 4 views
0

У меня есть сайт для размещения изображений/видео. В подобных имгурах. Много «link-сока», которое я получаю, - это люди, напрямую связанные с изображениями. Мне это не нравится. Я хочу, чтобы те, кто приземлился на эти фотографии, были перенаправлены на фактическую страницу, на которой были изображения.Перенаправить связанное изображение на страницу содержания

Теперь структура выглядит следующим образом:

< http://www.funzors.com/uploads/images/225.jpg - изображение

< http://www.funzors.com/media/225-pull-up-your-pants/ - содержание страницы.

Это разумно делать? И если да, то как мне это сделать с помощью htaccess? Мое предположение:

  • Проверьте ссылающиеся разве funzors.com, а также проверить, если оно не Google (Не нужен Google любя мое переназначение)
  • редиректа без кода состояния на страницу содержимого.
  • проверить, если люди не любят этот

спасибо заранее.

ответ

0

Поместите это в htaccess, который находится внутри папки/uploads/images.

RewriteEngine On 
RewriteBase /uploads/images 
RewriteCond %{HTTP_REFERER} !funzors\.com 
RewriteCond %{HTTP_REFERER} !google\. 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteRule ^225\.jpg$ /media/225-pull-up-your-pants/ [R,L] 

Это будет перенаправлять IFF: реферер не содержит funzors.comи не содержит google. (обратите внимание, я не указываю ДВУ, так как она различна для разных стран) и реферер не пусто (некоторые прокси и программное обеспечение удаляют референт, а googlebot не отправляет рефери)

+0

Спасибо, Gerben, но это своего рода жесткий код. Можете ли вы поделиться обобщенным кодом, как перенаправить все '/ uploads/images/SOME_IMAGE_NAME.png' на'/media/SOME_IMAGE_NAME'. Обозначьте код, который будет работать для всех вариантов в 'SOME_IMAGE_NAME'. – XIMRX

+0

@XIMRX измените последнюю строку на 'RewriteRule (. *) \ .png $/media/$ 1', чтобы сопоставить все файлы с расширением' png'. – Gerben

0

Браузер ожидает изображения, потому что изображение hotlinked, используя что-то вроде <img src="http://www.funzors.com/uploads/images/225.jpg" />. Поэтому, если браузер получит html вместо jpeg-данных, он просто покажет значок сломанного изображения или вообще не покажет изображение.

Вы можете просто перенаправить на другое изображение, содержащее «объявление» для вашего сайта. Вы можете сделать это очень крупным изображением, поэтому весь другой контент на сайте hotlinking выталкивается из экрана :-) Вы даже можете создать хороший gif или что-то

Что касается реферата. Референтом встроенного изображения является URL-адрес страницы, на которой он включен, поэтому он не совпадает с реферистом самой страницы. Однако вы также должны разрешить google/yahoo/etc, если вы хотите разрешить поиск изображений на своем сайте. Я не думаю, что сканеры google отправляют заголовки реферальных сообщений, так что бот-мудрый вы добры.

+0

Я на самом деле имею в виду, когда кто-то ссылается на img, и они смотрят на изображение http://www.funzors.com/uploads/images /225.jpg в своем адресном баре. – WiseStrawberry

+0

Это не называется горячей связью. Это просто обычная связь. – Gerben

+0

Правда. я отредактирую свой вопрос. – WiseStrawberry