Правило Перезаписи IIS 7 URL для изображений, не отнесенных самим веб-сайтом

Я поместил это в/etc/apache2/other/deflate.conf (который я создал):

AddOutputFilterByType DEFLATE text/html text/xml text/css application/javascript application/xml+xhtml

После добавления этого файла или добавления этой директивы к httpd.conf, необходимо перезапустить Apache. В Terminal.app можно сделать 'sudo apachectl перезапуск' для выполнения этого.

Вы не хотите делать, общий 'AddOutputFilter ВЫКАЧИВАЕТ', потому что затем сервер попытается сжать все файлы, включая файлы, которые уже сжаты - изображения JPEG, PNGs, видео/файлы ролика, MP3s, и т.д. - который сделает его намного медленнее для обслуживания тех файлов.

1
задан 15 October 2011 в 00:46
1 ответ

Если вы хотите остановить горячие ссылки и хотите проинформировать об этом пользователя, вы обычно хотите отправить фиктивное изображение обратно с текстом о том, что горячие ссылки не разрешены. Перенаправление запроса на страницу, которая говорит об этом, не помогает, поскольку он, скорее всего, не будет виден пользователю.

Изображения загружаются с тегом , и хотя браузер будет следовать перенаправлениям, он всегда будет ожидать получения какой-то поддерживаемый образ. Если запрос перенаправлен на HTML-страницу, браузер просто не отобразит изображение или не отобразит значок, что было получено недопустимое изображение. Тем не менее, страница, с которой была сделана горячая ссылка на изображение, все еще отображается.

Так что правило перезаписи, предложенное Русланом Якушевым, на самом деле является правильным способом справиться с этим. Вы также можете ответить перенаправлением, например, следующим действием:

<action type="Redirect" url="http://www.somesite.com/prevent.aspx?{REQUEST_FILENAME}" appendQueryString="false" redirectType="Found" />

Но конечный результат будет таким же. Однако вы не сможете перенаправить главное окно браузера на другую страницу.

1
ответ дан 4 December 2019 в 01:22

Теги

Похожие вопросы