首先,对不起我的英语。
我尝试在我的网站上做一些特殊的热链接防止。
例如我有图像
http://s1.example.com/i/img_123.jpg 如果有人在您自己的网站上使用此图像代码,而不是重定向。但如果他直接访问此图片,nginx会重定向到 http://example.com/z/img_123.jpg< - 不是图像,而是带有HTML代码的页面等。
我怎样才能得到它?
答案 0 :(得分:0)
这应该做的工作:
server {
root /var/www;
index index.htm;
server_name s1.sitename;
location ~ \.(jpe?g|png|gif)$ {
valid_referers blocked example.com;
if ($invalid_referer) {
# returning an htm. You can replace this with an image
return 403 /error.htm;
}
}
}
location ~ \.(jpe?g|png|gif)$ {
valid_referers blocked example.com;
if ($invalid_referer) {
return 403 /error.htm;
}
# If not invalid. we make a URL rewrite
rewrite i/(.*) http://www.example.com/z/$1 redirect;
# this is a suggestion. Enable expire. It's static data, and you should not
# waste resources serving these files every single time.
expires 30;
break;
}
答案 1 :(得分:-1)
我已经回答了我的问题:)
if ($http_referer = '') {
rewrite i/(.*) http://www.example.com/z/$1 redirect;
expires off;
break;
}