关于图片防盗链问题

php_way 2014-08-03 07:28:14
测试地址是:http://127.0.0.2/test.html
<body><img src="./11.png"></body>

.htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://127.0.0.2/.*$ [NC]
RewriteRule .*\.(gif|jpg|png)$ http://127.0.0.2/22.jpg [R,NC]


来自本站的图片全部定向到22.jpg去,但上面这么写不能显示图片。
在chrome下测试,总共有23次Request,其中test.html和11.png各一次;22.jpg这张图21次,前20次状态码都是302 found,最后一次是下面截图这样:


为什么是这样?
...全文
196 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hike_best 2014-08-05
  • 打赏
  • 举报
回复
死循环 要防盗链的图片放在目录里面 设置那个目录就可以了 你这样设置所有的图片 又重定向到另外的图片 这不是自己玩自己吗?
傲雪星枫 2014-08-03
  • 打赏
  • 举报
回复
http://127.0.0.2/22.jpg 也會匹配^http://127.0.0.2/.*$ 所以會死循環 如果想不死循環, http://127.0.0.2/22.jpg [R,NC] 改成 [R=301,L] 試試
php_way 2014-08-03
  • 打赏
  • 举报
回复
引用 1 楼 fdipzone 的回复:
死循環重定向了。 防盜鏈應該不是自己站點的域名才需要跳轉到22.jpg,而自己站點的則不需要跳轉才對啊。 改成這樣試試

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://127\.0\.0\.2/.*$ [NC] 
RewriteRule \.(gif|jpg|png)$ http://127.0.0.2/22.jpg [R=301,L] 
果真是死循环,但为什么不是一直请求下来
傲雪星枫 2014-08-03
  • 打赏
  • 举报
回复
死循環重定向了。 防盜鏈應該不是自己站點的域名才需要跳轉到22.jpg,而自己站點的則不需要跳轉才對啊。 改成這樣試試

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://127\.0\.0\.2/.*$ [NC] 
RewriteRule \.(gif|jpg|png)$ http://127.0.0.2/22.jpg [R=301,L] 

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧